由Maven Assembly Plugin上传的参考工件

时间:2010-07-28 10:22:57

标签: java maven-2 maven-assembly-plugin

我们已经配置了maven程序集插件来创建单个jar文件,这些文件通过deploy插件上传到我们的本地maven repo。

但是我们需要在其他项目中引用那些jar文件(由程序集插件创建的文件)作为maven依赖项。关于如何实现这一目标的任何想法都将受到高度赞赏。

此致

- 学

更新例如:

-client (pom.xml - groupId=com.mycompany artifactId=client)
  |-src
    |-main
      |-java
        |-authentication
        |-billing
        |-reporting

这可以通过maven程序集插件分成3个不同的jar文件,然后发布到我们的本地仓库:

-client-authentication.jar
-client-billing.jar
-client-reporting.jar

如果没有自己的pom文件,我们如何将client-authentication.jar作为另一个项目的依赖项引用?

2 个答案:

答案 0 :(得分:0)

您需要将该本地仓库添加到您的其他项目的poms

<repositories>
  <repository>
     <id>my-local-repo</id>
     <name>My companywide local repo</name>
     <url>{the actual url of your repo}</url>
  </repository>
</repositories>

这样做,您可以将依赖项添加到那些相同poms中的工件

  <dependency>
     <groupId>{some.group}</groupId>
     <artifactId>{my.local.repo.artifact}</artifactId>
     <version>{some.version}</version>
  </dependency>

答案 1 :(得分:0)

您是否尝试在依赖项中包含classifier(您的工件有version,对吧?):

<dependency>
  <groupId>com.mycompany</groupId>
  <artifactId>client</artifactId>
  <version>1.0-SNAPSHOT</version>
  <classifier>authentication</classifier>
  <type>jar</type>
</dependency>

但我需要强调的是,你要 每个模块黄金规则的一个工件,你应该将你的代码分成三个模块。