【问题标题】:How to specify artifact name in maven that I want installed/deployed如何在我想要安装/部署的 Maven 中指定工件名称
【发布时间】:2015-01-16 21:04:38
【问题描述】:

我有一个 maven pom orchestrator 文件用于控制我所有模块的构建。作为编排器步骤的最终构建,我通过 exec-maven-plugin 调用 shell 脚本来手动创建一个 zip 文件。

我想把我创建的这个 zip 文件放在我的 m2 文件夹中并部署到我的 nexus 存储库中。

是否有简单的指示 maven 部署/安装此 zip 文件?现在我的文件的包装类型是 pom,但我可以将其更改为其他内容。

目前不能选择将构建更改为使用插件而不是 shell 脚本。

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.proj</groupId>
    <artifactId>proj</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Proj</name>

    <modules>
        <module>ProjCommon</module>
        <module>ProjEar</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <artifactId>exec-maven-plugin</artifactId>
                <groupId>org.codehaus.mojo</groupId>
                <executions>
                    <execution>
                        <id>Zip packaging and deployment</id>
                        <phase>package</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>${bash.path}</executable>
                            <arguments>
                                <argument>${bash.arguments}</argument>
                                <argument>${basedir}/../deployer/post-build-sbic.sh</argument>
                            </arguments>
                            <environmentVariables>
                                <MAJOR_VERSION>${major.version}</MAJOR_VERSION>
                                <MINOR_VERSION>${minor.version}</MINOR_VERSION>
                                <ARTIFACTS_DIR>${artifacts.folder}</ARTIFACTS_DIR>
                            </environmentVariables>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project> 

【问题讨论】:

    标签: java maven deployment packaging


    【解决方案1】:

    试试这样的:

    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <executions>
          <execution>
              <id>attach-artifacts</id>
              <phase>package</phase>
              <goals>
                  <goal>attach-artifact</goal>
              </goals>
              <configuration>
                  <artifacts>
                      <artifact>
                          <file>target/my-custom-archive.zip</file>
                          <type>zip</type>
                          <classifier>dist</classifier>
                      </artifact>
                  </artifacts>
              </configuration>
          </execution>
      </executions>
    </plugin>
    

    【讨论】:

    • 太棒了——正是我要找的那种东西。您是否知道我可以修改 zip 文件的 artifactId/groupId 的任何方法,或者我能做的最好的事情就是使用分类器?
    • 不这么认为。这就像生孩子,让他们和你的邻居住在一起。
    • 效果很好。感谢您让我知道这个插件。
    【解决方案2】:

    尝试在您的项目上执行 {mvn deploy}。如果一切成功,这应该会构建您的项目并将工件部署到您的 repo 和 nexus。

    【讨论】:

    • 那只会部署pom。不是我通过脚本手动构建的 zip。
    猜你喜欢
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    相关资源
    最近更新 更多