我的公司有一個自定義的Java應用程序,最近我們試圖運行它時它崩潰了。下面是它崩潰時的堆棧競爭:
java.lang.NullPointerException: null
at java.util.regex.Matcher.getTextLength(Matcher.java:1283) ~[?:1.8.0_345]
at java.util.regex.Matcher.reset(Matcher.java:309) ~[?:1.8.0_345]
at java.util.regex.Matcher.<init>(Matcher.java:229) ~[?:1.8.0_345]
at java.util.regex.Pattern.matcher(Pattern.java:1093) ~[?:1.8.0_345]
at com.mycompany.fileUtility.checkFiles.validateData(fileUtility.java:112) ~[wonderApp.jar:?]
at com.mycompany.wonderApp.BuildConfig.<init>(BuildConfig.java:78) ~[wonderApp.jar:?]
at com.mycompany.wonderApp.ConfigMonitor.build(ConfigMonitor.java:698) [wonderApp.jar:?]
at com.mycompany.wonderApp.MainDriver.Main(MainDriver.java:18) [wonderApp.jar:?]
我的問題是:括號里的信息是什么?即Java庫函數的~[?:1.8.0_345]
和自定義代碼的~[wonderApp.jar:?]
?冒號是什么意思??
表示什么?就這一點而言,括號外的~
怎么辦?
僅供參考,我們的平臺是Red Hat Enterprise Linux 7.9。我們的Java版本是:
[me@server01 tmp]$ java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)
[me@server01 tmp]$
Thank you.
看起來它正在使用logback作為日志實現(xiàn),日志消息的模式布局正在轉儲異常堆棧,如下表所示: