如何包装一个Ant构建使用Maven? [英] How to wrap an Ant build with Maven?

查看:147
本文介绍了如何包装一个Ant构建使用Maven?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们用maven我们的肥胖型产品。我们所有的文物被部署到使用maven的部署目标共享archiva存储库。我现在整合,有一个Ant构建第三方产品。我知道如何使用该插件antrun行家调用Ant目标,但我不知道如何设置POM在这种情况下。我不想行家实际生成人造的,但我不希望它扳指被蚂蚁运行Maven的部署目标时建立的神器。

We use maven for our large-ish product. All of our artifacts are deployed to a shared archiva repository using the maven deploy goal. I am now integrating a third party product that has an ant build. I know how to call ant targets from maven using the antrun plugin, but I'm not sure how to setup the pom in this instance. I don't want maven to actually generate an artifact, but I do want it to pull the artifact that was built by ant when the maven deploy goal is run.

我打算具有邻近build.xml中的聚甲醛。聚甲醛将使用antrun插件包中的目标调用Ant目标在适当的时候,以构建.war神器。

I am planning on having the pom adjacent to build.xml. The pom will use the antrun plugin in the package goal to call the ant target at the appropriate time to build the .war artifact.

问题:

一)我创建一个.war文件,但它是通过蚂蚁,Maven的不是创造,所以有在POM战争包装类没有意义。我应该我的包装类型是什么?

a) I am creating a .war file but it is created via ant, not Maven, so having a war packaging type in the pom doesn't make sense. What should my packaging type be?

二)我如何引起行家从我的蚂蚁输出目录拉神器的部署目标是什么?

b) How do I cause maven to pull the artifact from my ant output directory for the deploy goal?

c)若没有好的答案,A和B,然后在那里复制的Maven获取我的.war神器到共享存储库部署功能Ant任务?

c) If there are no good answers to A and B, then are there ant tasks that replicate the maven deploy functionality for getting my .war artifact into the shared repository?

推荐答案

您可以使用 Maven的antrun-插件调用Ant构建。然后使用集结帮手 - Maven的插件附加蚂蚁产生的罐子项目。附加的神器将被安装/部署旁边的POM。结果
如果您使用的包装 POM 指定您的项目时,Maven不会Ant构建冲突。

You can use the maven-antrun-plugin to invoke the ant build. Then use the build-helper-maven-plugin to attach the jar produced by ant to the project. The attached artifact will be installed/deployed alongside the pom.
If you specify your project with packaging pom, Maven will not conflict with the ant build.

在下面的例子中,蚂蚁的build.xml被假定为在src / main /蚂蚁,有一个编译目标,并输出到蚂蚁output.jar

In the example below, the ant build.xml is assumed to be in src/main/ant, have a compile goal, and output to ant-output.jar.

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <phase>process-resources</phase>
      <configuration>
        <tasks>
          <ant antfile="src/main/ant/build.xml" target="compile"/>
        </tasks>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>1.3</version>
  <executions>
    <execution>
      <id>add-jar</id>
      <phase>package</phase>
      <goals>
        <goal>attach-artifact</goal>
      </goals>
      <configuration>
        <artifacts>
          <artifact>
            <file>${project.build.directory}/ant-output.jar</file>
            <type>jar</type>
          </artifact>
        </artifacts>
      </configuration>
    </execution>
  </executions>
</plugin>

这篇关于如何包装一个Ant构建使用Maven?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆