maven项目依赖是一个生成的jar(不在maven repo中)

时间:2013-11-25 14:34:27

标签: maven

我是个新手。我的项目取决于另一个maven项目(ProjectA),因为我需要在ProjectA上运行mvn clean package,这给了我JarA。

然后,我需要运行java JarA,并使用xml配置文件为其提供另一个JarB。我需要JarA和JarB作为我的项目(ProjectB)的依赖项。

是否有可能在projectB的pom文件中实现这些步骤?拥有父子模块类型的配置会有帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

也许。获得JarB的最简单的解决方案是向项目A添加一个单元测试。但这并没有告诉Maven这个JAR,所以它会忽略它。

下一步是让测试将JarB编写为JarA-config到项目A的target/文件夹中.Maven支持多个工件作为“构建结果”。然后,您可以使用“限定符”来区分它们。

使用build-helper:attach-artifact告诉Maven第二个JAR。有关示例,请参阅“Attach additional artifacts to your project”。

请注意package发生在test之后,因此您的测试用例可以创建第二个JAR,然后build-helper会找到它。

在项目B中,您可以使用它来依赖两个JAR

<dependency>
   <groupId>x</groupId>
   <artifactId>jarA</artifactId>
</dependency>
<dependency>
   <groupId>x</groupId>
   <artifactId>jarA</artifactId>
   <classifier>config</classifier>
</dependency>

请注意其他<classifier>元素。

注意:为此,您需要在项目A中运行mvn install