Foreman找不到$ JAVA_OPTS
我在Heroku的下一个教程中有一个错误,特别是在这部分
[ https://devcenter.heroku.com/articles/getting-started-with-java#run-the-app-locally][1]
如果我执行该指令,那么foreman会抛出以下错误:
错误:找不到java类$ JAVA_OPTS
我已经声明了一个这样的env变量:
Name variable : JAVA_OPTS Variable value: -Xms256m -Xmx512m
该工头试图执行的Proc文件具有以下内容:
web: java $JAVA_OPTS -cp target/classes:target/dependency/* Main
我对正在发生的事情一无所知。
注意:我已经检查了一些其他问题
用JAVA_OPTS env变量运行java
工头立即终止
工头找不到java
希望有人知道发生了什么。
编辑:我在下面回答了我自己的问题
我怀疑你在Windows上运行。 如果是这样,那么你将不得不像%JAVA_OPTS%
那样引用JAVA_OPTS var。 但是Heroku仍然需要* nix样式( $JAVA_OPTS
),因此我建议在Procfile.win
旁边创建一个Procfile.win
, Procfile
包含以下内容:
web: java %JAVA_OPTS% -cp target/classes:target/dependency/* Main
然后运行它以在本地启动您的应用程序:
$ foreman start --procfile=Procfile.win
这就是我为解决这个问题所做的事情:
似乎heroku站点上的文档不清楚您使用的是哪种操作系统。 但后来我在以下链接中找到了答案:
Heroku在本地部署您的Java应用程序
原始的Proc文件脚本是这样的:
web: java $JAVA_OPTS -cp target/classes:target/dependency/* Main
我修改了它,如下所示:
web: java %JAVA_OPTS% -cp target\classes;"target\dependency\*" Main
正如Heroku文档所述。
这解决了问题,我能够在本地运行我的应用程序
如果您正在使用’nix,请在运行期望它的脚本之前export JAVA_OPTS
。