如果两个不同的jar具有相同的包名称,则会出现Maven编译错误

时间:2013-04-23 20:25:00

标签: maven

我有两个不同的罐子asource.jar和btest.jar。 btest.jar有一个com.foo.test类,用于测试asource.jar中的类com.foo.source。

当我尝试对btest.jar运行 mvn clean install 时,我收到编译错误,说com.foo.source.java类不存在。我分析并得出结论,maven正在btest.jar的com.foo包中搜索source.java而在那里找不到它失败了。它甚至没有尝试在asource.jar中以类似命名的包中搜索该类。

maven exclude等在这里不起作用,因为我无法排除任何内容。是否有某种方法可以在多个罐子中以相同的包名递归地进行maven搜索?

1 个答案:

答案 0 :(得分:1)

您必须将您的asource模块添加为btest模块的依赖项

<project [...]>
 <groupId>com.foo</groupId>
 <artifactId>btest</artifactId>
 <version>1.0-SNAPSHOT</version>
 <packaging>jar</packaging>

 [...]
 <dependencies>
   <dependency>
    <groupId>com.foo</groupId>
    <artifactId>asource</artifactId>
    <version>1.0-SNAPSHOT</version>
  </dependency>
 </dependencies>
相关问题