【问题标题】:How to upload custom artifact after it was build using a windows bat command?使用 windows bat 命令构建后如何上传自定义工件?
【发布时间】:2015-04-21 15:21:47
【问题描述】:

我有一个 Windows 批处理文件来为我创建一个文件 myUser.aaa。

我使用 exec-maven-plugin 调用这个 bat 文件

 <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <executable>scripts/MyBat.bat</executable>
                </configuration>
            </plugin>
        </plugins>

我想知道的是如何在执行 MyBat.bat 后将文件安装到我的 repo 中?

我首先想使用 bat 文件中的 mvn 命令来上传它,但这个作业是从 Jenkins 服务器执行的,它有自己的 maven 配置。如果我从 bat 文件运行 mvn,它将引用本地系统上的 maven。

【问题讨论】:

  • 你从scripts/MyBat.bat 文件中调用 Maven 是否正确?
  • @khmarbaise 反过来……我有一个调用 bat 文件的 maven 项目。 bat文件创建一个外部非jar库,执行bat文件后我希望能够上传创建的外部非jar库
  • 啊,好吧,我明白了。添加了适当的答案。

标签: installation maven-3 maven-plugin


【解决方案1】:

我建议使用build-helper-maven-plugin 将补充工件添加到您的构建中,然后将其与其余部分一起部署,可以这样完成:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.9.1</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>some file</file>
                  <type>extension of your file </type>
                  <classifier>optional</classifier>
                </artifact>
                ...
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

您可能应该将 exec-maven-plugin 绑定到较早的阶段,或者将 build-helper-maven-plugin 绑定到较晚的阶段。我建议将prepare-package 用于exec-maven-plugin。此外,我建议使用插件的最新版本。

【讨论】:

  • 这就是我想要的,exec-maven-plug 的prepare-package 工作得很好。谢谢
猜你喜欢
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
相关资源
最近更新 更多