Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java heroku错误:无法找到或加载主类_Java_Maven_Heroku - Fatal编程技术网

Java heroku错误:无法找到或加载主类

Java heroku错误:无法找到或加载主类,java,maven,heroku,Java,Maven,Heroku,我已经创建了一个使用gradle和maven的简单应用程序,我正试图在heroku上运行它。构建成功完成,但应用程序随后立即崩溃 2020-05-16T01:54:59.000000+00:00 app[api]: Build succeeded 2020-05-16T01:55:03.088181+00:00 heroku[worker.1]: State changed from starting to up 2020-05-16T01:55:04.411587+00:00 heroku[w

我已经创建了一个使用gradle和maven的简单应用程序,我正试图在heroku上运行它。构建成功完成,但应用程序随后立即崩溃

2020-05-16T01:54:59.000000+00:00 app[api]: Build succeeded
2020-05-16T01:55:03.088181+00:00 heroku[worker.1]: State changed from starting to up
2020-05-16T01:55:04.411587+00:00 heroku[worker.1]: State changed from up to crashed
2020-05-16T01:55:04.216434+00:00 app[worker.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2020-05-16T01:55:04.331808+00:00 app[worker.1]: Error: Could not find or load main class <classname>
2020-05-16T01:54:59.000000+00:00应用程序[api]:构建成功
2020-05-16T01:55:03.088181+00:00 heroku[工人1]:状态从启动更改为启动
2020-05-16T01:55:04.411587+00:00 heroku[worker.1]:状态从高变为崩溃
2020-05-16T01:55:04.216434+00:00应用程序[工人1]:拾取的JAVA工具选项:-Xmx300m-Xss512k-XX:CICompilerCount=2-Dfile.encoding=UTF-8
2020-05-16T01:55:04.331808+00:00应用程序[worker.1]:错误:无法找到或加载主类
我的proc文件包含以下内容:

worker: java -jar target/<jarname>.jar
worker:java-jar-target/.jar
我发现的另一个问题是我的主类的目录——我在创建项目时没有给它一个组,所以它的目录是:

src\main\main.java


这可能是个问题吗?

错误信息非常清楚。。。“无法找到或加载主类”显然,您的类文件中没有一个包含
公共静态void main(String[]args)
方法签名,因此Heroku没有启动项目的入口点


JVM需要看到一个具有该确切签名的
main
方法
main
只是一种约定,它让JVM知道执行代码的初始入口点在哪里
public
必须在那里才能访问,并且
static
允许调用
main
,而无需创建包含
main
方法的任何对象的实例。

我的代码包含行“public static void main(String[]args)抛出LoginException”{`,我需要删除void语句吗?还是有其他问题?抱歉,void是必需的--这只是我深夜的一个愚蠢行为。查看你的应用程序的根目录,找到procfile。编辑你原来的问题,并将内容发布到那里。我们现在继续讨论更模糊的原因。添加了procfile。@MarsAtomic对t有什么想法吗他的?我也有同样的经历,即使Heroku在本地运行得很好?