如何在我想要安装/部署的maven中指定工件名称

时间:2015-01-16 21:04:38

标签: java maven deployment packaging

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

我想把我在m2文件夹中创建的zip文件放到我的nexus repo中。

是否有一个简单的指示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> 

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:-1)

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