![](/img/trans.png)
[英]jdk1.8.0_152.jdk/Contents/Home/bin/java'' finished with non-zero exit value 255
[英]Got error: > Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
任務 ':Main.main()' 執行失敗。
進程 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java'' 以非零退出值 1 結束
這是一個帶有 Gradle 的 java 項目。 不知道這個錯誤是什么意思。
這是一個非常普遍的錯誤,我的Java Gradle Spring-Boot項目也遇到過。 調試如此困難的原因是,即使您向gradle bootRun
命令提供--stacktrace
或--debug
arguments ,它也不會提供任何有用的線索來說明錯誤發生的位置。
但是,如果您將 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)
這個錯誤其實很籠統。 我也在我的 Scala 項目中看到了這個錯誤。 您需要使用 main() 行單擊父錯誤,這將顯示實際錯誤。 就我而言,這是因為我沒有下載特定文件並且存在 null 指針問題。 希望這可以幫助!
對於那些使用 IntelliJ IDE 的人,如果上面的解決方案不適用於您的項目,我還有另一個解決方案:Preferencees->Build, Exectution, Deployment->Build Tools->Gradle->Build and run
將“構建和運行使用”和“運行測試使用”從 Gradle 更改為 IntelliJ IDEA,然后重新加載所有 Gradle 項目
當您的機器上安裝了多個 JDK(在我的 Mac 中,安裝了 JDK8 和 JDK11)時,正確更新 IDE 編譯器版本后,此錯誤就會消失。 如果需要進行更改,您可能需要重新啟動 IDE。 在我的情況下 IntelliJ IDE,它在使緩存無效並重新啟動 IDE 后工作。
嘗試使用 Main.main() 行單擊父錯誤。 這應該向您顯示發生的實際錯誤。 對我來說,這是因為我沒有在 application.properties 文件中設置數據庫連接。 希望這可以幫助。
此錯誤可能是由於端口已在使用中。 關閉應用程序的其他運行實例后重試。
希望這有效!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.