如何让 Heroku 找到并加载我的主 java 文件

How do I get Heroku to find and load my main java file

当我尝试部署我的 discord 机器人程序时,没有任何反应,日志显示如下: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8

Error: Could not find or load main class src.main.java.Main.java

我的 Procfile 在存储库的根目录中,它有这行代码: Worker: java src/main/java/Main.java

我正在关注有关如何在 Heroku 上获得我自己的 discord 机器人 运行 的 youtube 指南,我完美地复制了所有内容。完全相同的项目在 IntelliJ 中运行没有错误。 如何让 Heroku 找到并加载我的程序?

您正在尝试 运行 Java 源文件(.java 扩展名),而不是已编译的 class 文件。您也没有指定 class 路径,其中 Java 应该搜索 classes.

你的 Procfile 应该是这样的: worker: java -cp target/classes Main

这将在 target/classes 中查找 Main class,其中 Maven 保存已编译的 class 文件。如果你使用不同的构建工具,目录是不同的。上面的命令也没有在 class 路径中包含您的依赖项。

仍然假设您正在使用 Maven,您可以使用 Maven's dependency plugin 将依赖项复制到一个目录,并将该目录包含在 Procfile 的 -cp 参数中。