【发布时间】:2014-11-20 17:06:34
【问题描述】:
我目前有一个调用 ant 任务来运行的 Maven 构建。这个 ant 任务依赖于一些外部库。这些库目前在我的系统中是硬编码的。我想将这些外部库移动到本地 Maven 存储库并让 maven 从存储库中检索它们,但不知道如何执行此操作。
我当前的任务定义为(为简洁起见,编辑了完整的任务定义):
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!-- Ant Custom Folder copying plugin -->
<execution>
<id>rename_files</id>
<phase>process-resources</phase>
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${env.ANT_HOME}/lib/ant-contrib-1.0b3.jar" />
<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<typedef name="trim" classname="ise.antelope.tasks.typedefs.string.Trim" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<typedef name="lastindexof" classname="ise.antelope.tasks.typedefs.string.LastIndexOf" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<typedef name="substring" classname="ise.antelope.tasks.typedefs.string.Substring" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<typedef name="listfiles" classname="ise.antelope.tasks.typedefs.file.FileList" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<taskdef name="fileutil" classname="ise.antelope.tasks.FileUtilTask" classpath="${env.ANT_HOME}/lib/AntelopeTasks_3.4.1.jar" />
<!-- CSS -->
<for param="file">
<path>
<fileset dir="target\Com-${project.version}\style\" includes="*.css" />
</path>
<sequential>
<fileutil file="@{file}" property="fileWithoutPath">
<listfiles includepath="false" />
</fileutil>
</sequential>
</for>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
我知道我可以将 <dependencies> 定义为我的插件 def 的一部分,但不确定如何重新定义我的 taskdef 以指向依赖项与 rar jar 文件。
【问题讨论】: