【发布时间】:2013-02-10 22:08:48
【问题描述】:
我有一个带有自动生成的 ant 文件的 java 项目。所以我不得不使用 ant 来构建项目。我需要添加一些新的库,我使用了下面的 maven pom 文件。然后我使用 ant 任务来检索 pom 依赖项并将它们复制到 lib 文件夹中。但是,以下 ant 任务错过了 pom.xml 中的配置文件依赖项。 我想做的是一个 ant 任务,以便基于当前的操作系统,它将包含操作系统的相应 xurlrunner jar。这是由 pom 中的 maven 完成的,但我如何使用 ant 来完成?
---蚂蚁目标任务----
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant"
classpathref="maven-ant-tasks.classpath"/>
<target name="retrieve-dependencies">
<artifact:dependencies filesetId="dependency.fileset"
sourcesFilesetId="profiles.dependency.fileset"
versionsId="dependency.versions">
<pom file="${basedir}/nbproject/pom.xml"/>
</artifact:dependencies>
<delete dir="${lib.dir}/browser"/>
<copy todir="${lib.dir}/browser">
<fileset refid="dependency.fileset"/>
<mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper"
from="${dependency.versions}" to="flatten"/>
</copy>
</target>
---pom.xml-------
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.drOffice.browser</groupId>
<artifactId>embedded-browser</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerVersion>1.6</compilerVersion>
<encoding>UTF-8</encoding>
<source>1.6</source>
<target>1.6</target>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugins>
</build>
<repositories>
<repository>
<id>atomation-repository</id>
<name>atomation maven repository</name>
<url>http://atomation-repository.googlecode.com/svn/trunk</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>ru.atomation.jbrowser</groupId>
<artifactId>jbrowser</artifactId>
<version>1.9</version>
<scope>compile</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>generic</id>
<activation>
<activeByDefault></activeByDefault>
</activation>
</profile>
<profile>
<id>linux</id>
<dependencies>
<dependency>
<groupId>ru.atomation.native</groupId>
<artifactId>xulrunner-linux</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>solaris</id>
<dependencies>
<dependency>
<groupId>ru.atomation.native</groupId>
<artifactId>xulrunner-solaris</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>macosx</id>
<dependencies>
<dependency>
<groupId>ru.atomation.native</groupId>
<artifactId>xulrunner-macosx</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>windows</id>
<dependencies>
<dependency>
<groupId>ru.atomation.native</groupId>
<artifactId>xulrunner-windows</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
【问题讨论】: