我有两个名为A和B的Java项目。它们都是作为war文件部署的Web应用程序。我在Eclipse工作区中分别创建了它们。B项目使用了A项目中的一个类,名为 MusicMapper
。按照这篇文章建议的方法,我将项目A添加到了项目B的Eclipse构建路径中。所以现在项目B可以编译而没有任何错误,并且通过在项目B中导入它来看到了类 MusicMapper
。
import com.projectA.MusicMapper;
在我启动项目B的Web应用程序之前,一切都好像很正常。然而,当我启动项目B并调用项目A中引用了类 MusicMapper
的代码时,我收到了以下运行时错误:
java.lang.ClassNotFoundException: com.projectA.MusicMapper
所以这个错误似乎是由未找到的类com.projectA.MusicMapper
引起的,该类是从项目A导入的。由于我已经将项目A添加到项目B的构建路径中,并且项目B在没有任何错误的情况下编译成功,为什么会在运行时报告此错误呢?
我采取的另一种方法是:我还尝试在项目B的pom.xml
中使用以下Maven导入:
<dependency>
<groupId>com.projectA</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>/path/to/projectA.jar</systemPath>
</dependency>
在这里,projectA.jar
是我从项目 A 导出的 jar 文件。但是它仍然给了我相同的 ClassNotFoundException
。我该如何让项目 B 使用项目 A 中的类?似乎我尝试过的两种方法都不起作用。