通过类路径引入的Java子类无法找到父类

时间:2019-02-07 17:25:00

标签: java spring-boot jar classpath

出于这个问题范围之外的原因,我有两个罐子。

Jar1:project/project.jar,它是一个弹簧靴子,包含A类。

Jar2:mock/project-mock.jar,这是一个包含B类的罐子。

project-mock.jar没有主类,也不能独立运行。

B类扩展了A类。

我正在尝试使用以下命令一起运行这些jars

java -cp project/project.jar:mock/project-mock.jar org.springframework.boot.loader.JarLauncher 

当我运行以上命令时,spring boot jar开始初始化,但随后出现异常:

 problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: com/project/Class A

这是与我如何尝试启动应用程序有关的问题,还是与如何解决classpath问题以将jar正确设置在同一classpath上有关的问题?

编辑:我不认为这与Why am I getting a NoClassDefFoundError in Java?是同一个问题,因为我认为在命令行上添加两个jar会将它们放在相同的类路径中。如果不是这种情况,那就是问题所在,但我想知道为什么然后才能解决。 在Edit上进行编辑:进一步查看抛出的异常,有一个嵌套的异常java.lang.ClassNotFoundException,它使我回到类路径问题上,而不是第一次无法正确加载类。

0 个答案:

没有答案