报错记录
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运行环境不同,报错了
错误配置