Java类路径分隔符依赖于平台,Windows为;
,Unix为:
。
如果您试图在Windows上运行heroku local
,那么您的命令将会失败,并显示您发布的消息。与替换它:
web: java -cp target/classes/;target/dependency/* com.x.y.Main
将使它在Windows上运行。
如果您在部署在云中的应用程序(这是Unix)出现此错误,那么在target/classes
目录中没有com.x.y.Main
类。您可以通过运行heroku run bash
然后ls -lR
并检查服务器上的目录/文件布局来验证。
如果您在Windows上运行,请确保运行mvn clean install
将源代码编译到target/classes
目录中。
对于您将需要调整类路径,因为它使用了不同的布局(build/classes
)或build/libs
jar文件基于摇篮项目,see the guide for the details:
web: java -jar build/libs/myprojectname-1.0-SNAPSHOT.jar
,使其在云中工作,并在Windows无需每次都更改Procfile,请使用web: java -cp target/classes/;target/dependency/* com.x.y.Main
创建Procfile.windows
,然后使用heroku local web -f Procfile.windows
命令在本地启动应用程序。
查看我更新的帖子。我更新了我的proc文件,但我仍然收到错误 –
@AbAppletic您究竟如何在本地或云中运行应用程序,使用了什么命令?你能提供'target/classes'中的文件列表吗? – CrazyCoder
'heroku本地网络' –