我正面临Maven打包的问题,我的项目是
- Maven项目名为(A),有两个线程,其中一个将运行Spring启动应用程序,一个将运行普通java项目
- Maven项目用普通java代码调用(B)将有Pojo和Models类用于所有项目
- Maven项目调用(C)与正常java代码
- Maven Project Called (E) with Normal java code
总结它们的使用
- (A),(C),(E)将使用(B)中的模型/Pojo类,(B)被添加为其POM中的依赖项
- (A)将使用来自(C)的方法,(C)被添加为(A) POM 中的依赖项
- (C)将使用Classloader从(E)加载类,并使用 方法
这里的问题是:
当(C)项目加载(E)中的类并尝试使用(B)中的参数类的方法时{RestConnection beans}抛出
Exception in thread "Thread-9" java.lang.NoClassDefFoundError: B/beans/RestConnections
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at com.eska.module.execution.model.bo.ExecutionBo.openANDLoadAllJarsDest(ExecutionBo.java:468)
at com.eska.module.execution.model.bo.ExecutionBo.getDestModelJarData(ExecutionBo.java:372)
at com.eska.module.execution.model.service.impl.ExecutionServiceImpl.start(ExecutionServiceImpl.java:45)
at com.eska.module.execution.MainExecution.MainExecution.main(MainExecution.java:94)
at com.eska.med.provman.module.generation.model.bo.StartupThreadingPhases$InterruptableTask.run(StartupThreadingPhases.java:97)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: B/beans/RestConnections
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 9 more
注意:如果我从eclipse中运行该项目,它可以正常工作,但是当我尝试使用Maven jar时,这个问题发生了
我试图从eclipse中导出Runnable jar(项目添加在构建路径中),这个问题没有发生,但spring引导无法工作。
有谁能帮忙吗?
我的猜测是(B)不在类路径上,当您运行您的项目。在CLI中,您需要添加-cp <path to (B) jar>