gpt4 book ai didi

java - Heroku、Java、Procfile,无法找到或加载主类

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:39 25 4
gpt4 key购买 nike

我正在使用 heroku 和 maven 来运行服务器。我的目标是让 heroku 将 java 类 server.class 作为 web dyno 运行。

如何编写 procfile 来将 java 程序 server.class 作为 web 执行?


我目前的文件

web: java -cp $JAVA_OPTS target/classes/v1/a1/server

我的错误。(来自 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


可能有用的信息

过程文件

web: java -cp $JAVA_OPTS target/classes/v1/a1/*

返回

Error: Could not find or load main class target.classes.v1.a1.myOtherClass

我原来的 Procfile(也没有用)

web: java -cp target/classes/:target/dependency/* server
  • 我的文件结构与 heroku 文档中给出的示例有点不同,因此我稍微修改了 procfile。
  • 我的依赖项不在/target/dependencies 中。
  • 我的类(class)在 target/classes/v1/a1/中。
  • server.java 有一个 main 方法和有效的构造方法。
  • 我所有的依赖项似乎都是有序的。
  • Maven 确实将我的 .java 文件构建到目标目录中的 .class 文件中。
  • 我在 unix 上,所以引号和分号可能不起作用。

最佳答案

heroku 的默认 Procfile 是为 Linux 编写的。使用的分隔符是“:”。

要在 Windows 机器上使用 Procfile,请按以下方式修改 Procfile

web: java -cp target/classes/;target/dependency/* com.yourpackage.MainClassName

关于java - Heroku、Java、Procfile,无法找到或加载主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36732703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com