如何在我想要的 Maven 中指定工件名称 installed/deployed

How to specify artifact name in maven that I want installed/deployed

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

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

是否有指示 maven 到 deploy/install 这个 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> 

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

尝试这样的事情:

<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>