如何使用其他artifactId部署程序集?

时间:2015-04-03 07:46:41

标签: java maven

给定一个带有单个模块的maven项目(一个单独的pom.xml)是否可以使用maven-assembly-plugin(或其他插件)部署一个zip文件,其中包含另一个artifactId而不是当前的pom?

实施例
myProject的/ pom.xml的

mvn package将产生:

  • myProject的/目标/ myProjectActifactId-1.0.jar
  • myProject的/目标/ something-1.0.zip

我希望mvn deploy在我的Nexus中使用不同的artifactIds部署这两个文件:

  • myGroupId / myProjectActifactId / 1.0 / myProjectActifactId-1.0.jar
  • myGroupId /东西/ 1.0 / something-1.0.zip

1 个答案:

答案 0 :(得分:1)

如果您需要在本地存储库上安装zip文件,则以下解决方案可行。     mvn clean package install:install-file

pom.xml文件如下所示

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5.2</version>
    <goals>
      <goal>install-file</goal>
    </goals>
    <configuration>
      <repositoryId>artifactory</repositoryId>
      <packaging>zip</packaging>
      <generatePom>true</generatePom>
      <artifactId>${project.artifactId}</artifactId>
      <groupId>${project.groupId}</groupId>
      <version>${zipfile.project.version}</version>
      <file>path-to-zip-file-created-by-assemblly </file>
    </configuration>
  </plugin>
</plugins>

如果您需要将zip部署到远程存储库,则以下解决方案可用。

mvn package deploy:deploy-file

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.6</version>
    <goals>
      <goal>deploy-file</goal>
    </goals>
    <configuration>
      <repositoryId>artifactory</repositoryId>
      <packaging>zip</packaging>
      <generatePom>true</generatePom>
      <url>${repository.url}</url>
      <artifactId>${project.artifactId}</artifactId>
      <groupId>${project.groupId}</groupId>
      <version>${zip.project.version}</version>
      <file>path-to-zip-file-created-by-assemblly</file>
    </configuration>
  </plugin>