如何在我想要的 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>
我有一个 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>