2013-11-25 124 views
0

我是一个maven新手。我的项目依赖于另一个Maven项目(ProjectA),因为我需要在ProjectA上运行mvn clean package,它给了我JarA。maven项目依赖项是一个生成的jar(不在maven仓库中)

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

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

+1

听起来像是你可能想利用Maven的模块,如果这些项目是紧密依赖于他人。如果它们不是紧密依赖的(即它们是独立和不同的项目),那么你可能只想简单地使用'mvn install'来将每个项目放入本地存储库。 – Crollster

回答

0

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

下一步将是测试将JarB编写为JarA-config到项目A的target/文件夹中。Maven支持将多个构件作为“构建结果”。然后你可以使用“限定词”来区分它们。使用告诉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

相关问题