任务':Main.main()'的执行失败。
处理'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java''的退出值非零完成
这是带有Gradle的Java项目。不知道此错误意味着什么。
答案 0 :(得分:2)
此错误实际上非常普遍。我在Scala项目中也看到了此错误。您需要在main()行上单击父错误,这将向您显示实际错误。就我而言,这是因为我没有下载特定文件,并且存在空指针问题。希望这会有所帮助!
答案 1 :(得分:1)
这是一个非常普遍的错误,我在我的 Java Gradle Spring-Boot 项目中也遇到过。调试如此困难的原因是,即使您为 --stacktrace
命令提供了 --debug
或 gradle bootRun
参数,它也没有给出任何关于错误发生位置的有用线索.
但是,如果您将 Spring-Boot 引导程序代码包装在 try-catch 中并打印如下异常堆栈跟踪,则可以轻松确定这一点:
@SpringBootApplication
public class MyApplicationServer {
public static void main(String[] args) {
try {
SpringApplication.run(MyApplicationServer.class, args);
} catch (Exception e) {
e.printStackTrace();
}
}
}
就我而言,异常是由于 application.yml
中未加引号的特殊字符 (*) 导致解析失败。以下堆栈跟踪摘录:
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application-local.yml'
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:535)
...(truncated logs)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:358)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:317)
at com.ekart.citylogistics.payout.MyApplicationServer.main(MyApplicationServer.java:24) Caused by: while scanning an alias in 'reader', line 5, column 44:
... endpoints.web.exposure.include: *
^ expected alphabetic or numeric character, but found (10) in 'reader', line 5, column 45:
... ndpoints.web.exposure.include: *
^
at org.yaml.snakeyaml.scanner.ScannerImpl.scanAnchor(ScannerImpl.java:1447)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchAlias(ScannerImpl.java:918)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:366)
...(truncated logs)
答案 2 :(得分:0)
尝试通过Main.main()行单击父错误。这应该向您显示实际发生的错误。对我来说,发生这种情况是因为我没有在application.properties文件中设置数据库连接。希望这会有所帮助。
答案 3 :(得分:0)
当您在计算机上安装了多个JDK(在我的Mac中,安装了JDK8和JDK11)后,正确更新了IDE编译器版本后,此错误消失了。如果需要进行更改,您可能需要重新启动IDE。与我的情况一样,在IntelliJ IDE中,它在使缓存无效并重新启动IDE之后可以工作。