【发布时间】:2014-07-05 11:23:33
【问题描述】:
我有两个名为 A 和 B 的 Java 项目。它们都是部署为 war 文件的 Web 应用程序。我分别在 Eclipse 工作区中创建了它们。项目 B 使用项目 A 中名为 MusicMapper 的类。我按照this post 中的建议将项目A 添加到Eclipse 中项目B 的构建路径中。所以现在项目B可以编译没有任何错误,并且可以通过在项目B中导入类MusicMapper在项目B中看到它:
import com.projectA.MusicMapper;
在我启动项目 B 的 web 应用程序之前,一切似乎都很好。但是,当我启动项目 B 并调用项目 A 中引用类 MusicMapper 的代码时,出现以下运行时错误:
java.lang.ClassNotFoundException: com.projectA.MusicMapper
所以这个错误似乎是由从项目A导入的未找到的类com.projectA.MusicMapper引起的。由于我已经将项目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 中的类可用?似乎我尝试过的两种方法都不起作用。
【问题讨论】:
-
你认为这是一个适合你的答案吗:)
标签: java eclipse maven classpath