首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在maven ant插件中使用ant脚本

在maven ant插件中使用ant脚本
EN

Stack Overflow用户
提问于 2013-04-27 06:46:01
回答 2查看 4.6K关注 0票数 1

我正在使用ant maven插件来调用maven构建中的遗留目标。当我运行pom文件时,它抛出一个关于缺少ant文件的错误:

代码语言:javascript
复制
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run (clear-generated-javascripts) on project documentation: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] C:\Development\documentation\build.xml:308: Problem: failed to create task or type propertyfile
[ERROR] Cause: the class org.apache.tools.ant.taskdefs.optional.PropertyFile was not found.
[ERROR] This looks like one of Ant's optional components.
[ERROR] Action: Check that the appropriate optional JAR exists in
[ERROR] -ANT_HOME\lib
[ERROR] -the IDE Ant configuration dialogs
[ERROR]
[ERROR] Do not panic, this is a common problem.
[ERROR] The commonest cause is a missing JAR.
[ERROR]

我尝试添加必要的依赖项,如下所示:

代码语言:javascript
复制
<dependency>
    <groupId>ant</groupId>
    <artifactId>ant-optional</artifactId>
    <version>1.5.2</version>
</dependency>

我查看了ant-optional jar文件,发现org.apache.tools.ant.taskdefs.optional.PropertyFile类确实存在。我尝试将jar添加到$ANT_HOME内的lib目录中,但没有成功。任何光线都会被消除。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-27 07:04:14

您的问题是与插件相关的,因此将正确的<dependency>添加为普通jar不会解决问题。

您需要将包含org.apache.tools.ant.taskdefs.optional.PropertyFile的JAR添加到%ANT_HOME%\lib

依赖项应该是你项目的一部分,如果没有特殊的配置,它们不会被部署到你的ANT文件夹中。

票数 0
EN

Stack Overflow用户

发布于 2013-04-30 00:41:45

您发布的错误消息显示您正在使用maven-antrun-plugin:1.3。我发现使用1.3版本的插件和1.7版本的插件有不同的解决方案。

蚂蚁build.xml

代码语言:javascript
复制
<project name="ant-propertyfile" basedir=".">
    <target name="run">
        <propertyfile file="my.properties" comment="My properties">
            <entry key="progress" value="Made"/>
        </propertyfile>
    </target>
</project>

maven-antrun-plugin:1.3 pom.xml

代码语言:javascript
复制
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <configuration>
          <tasks>
            <ant antfile="build.xml" target="run"/>
          </tasks>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-optional</artifactId>
            <version>1.5.3-1</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>

maven-antrun-plugin:1.7 pom.xml

代码语言:javascript
复制
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.7</version>
        <configuration>
          <target>
            <ant antfile="build.xml" target="run"/>
          </target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16246306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档