dya*_*ude 6 java heroku maven procfile
我正在将heroku与maven一起使用来运行服务器。我的目标是让heroku作为Web dyno运行Java类server.class。
我将如何编写procfile来以网络方式执行Java程序server.class?
我当前的Procfile
web: java -cp $JAVA_OPTS target/classes/v1/a1/server
Run Code Online (Sandbox Code Playgroud)
我的错误。(来自heroku日志)
Picked up JAVA_TOOL_OPTIONS: -Xmx350m -Xss512k -Dfile.encoding=UTF-8
Error: Could not find or load main class target.classes.v1.a1.server
State changed from starting to crashed
Run Code Online (Sandbox Code Playgroud)
可能有用的信息
proc文件
web: java -cp $JAVA_OPTS target/classes/v1/a1/*
Run Code Online (Sandbox Code Playgroud)
退货
Error: Could not find or load main class target.classes.v1.a1.myOtherClass
Run Code Online (Sandbox Code Playgroud)
我原来的Procfile(也没用)
web: java -cp target/classes/:target/dependency/* server
Run Code Online (Sandbox Code Playgroud)
heroku 的默认 Procfile 是为 Linux 编写的。其中使用的分隔符是“:”。
要在 Windows 计算机上使用 Procfile,请修改 Procfile,如下所示
web: java -cp target/classes/;target/dependency/* com.yourpackage.MainClassName
Run Code Online (Sandbox Code Playgroud)
我认为你Procfile应该包含:
web: java -cp target/classes/:target/dependency/* v1.a1.server
Run Code Online (Sandbox Code Playgroud)
这假设如下:
server班级在文件中target/v1/a1/server.classserver包括package v1.a1;我在您之前的尝试中注意到的一些问题包括:
$JAVA_OPTS选项-cp(不正确)/而不是.在完全限定的类名中(不正确)targetdir 包含在完全限定的类名中(不正确)target/classes/和目录中的文件target/dependency/属于类路径(即传递给-cp),而命令的最后一个参数java应该是完全限定的类名(以 形式package.Class)。
| 归档时间: |
|
| 查看次数: |
4108 次 |
| 最近记录: |