报错记录

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

posted @ 2021-12-22 17:35  尐飄、  阅读(29)  评论(0编辑  收藏  举报