報錯記錄
1、問題
java.lang.ClassNotFoundException:概述
根據Oracle文檔,在類加載調用失敗后,將使用其字符串名稱引發ClassNotFoundException ,如下所示:
- Class.forName方法
- ClassLoader.findSystemClass方法
- ClassLoader.loadClass方法
換句話說,這意味著一個特定的Java類找不到或無法從您的應用程序當前上下文類加載器“運行”加載。
Class c = Class.forName("com.company.shoot");
//Class c = Class.forName("shoot");未找到所寫的類,拋出異常,初期以為在同一個包下可不寫路徑
解決策略
- 首先根據上述內容檢查java.lang.ClassNotFoundException堆棧跟蹤,并確定在運行時未正確加載哪個Java類,例如應用程序代碼,第三方API,Java EE容器本身等。
- 確定調用者,例如您在調用Class.forName()或ClassLoader.loadClass()之前從堆棧跟蹤中看到的Java類。 與第三方API相比,這將有助于您了解應用程序代碼是否出錯。
- 確定您的應用程序代碼是否未正確打包,例如,類路徑中缺少JAR文件
- 如果缺少的Java類不是來自您的應用程序代碼,請確定它是否屬于您正在按照Java應用程序使用的第三方API。 一旦識別出它,就需要將丟失的JAR文件添加到運行時類路徑或Web應用程序WAR / EAR文件中。
2
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
低版本jdk無法執行高版本jdk編譯出的class文件
maven插件問題,改了下配置,導致jar運行環境不同,報錯了
錯誤配置


浙公網安備 33010602011771號