我是Maven的新手,但我对Ant很满意,我喜欢Maven下载jar及其依赖项的方式,所以我想在我的Ant构建脚本中包含 Maven依赖项。我已经看到了如何使用,但是这里所有的jar文件都下载在.m2 folder, instead i need all the jars downloaded in the lib folder of my project
中。这到底能不能做到?如果可以,谁能告诉我怎么做呢
这是一个非常合理的问题。
使用maven任务确实使用了通用的maven存储库位置,因为这将使所有的maven项目受益,而不仅仅是本地的。
Maven默认为所有本地项目使用共享缓存,因为为每个项目下载commons-lang有点荒谬。
如果您愿意,可以为执行指定一个本地存储库位置(参见http://maven.apache.org/ant-tasks/reference.html#localRepository)。
另外,正如另一位用户所说,IVY也很适合您的用例。如果您只需要下载依赖项,那么IVY就可以做到这一点。Maven可以做到这一点,但它包含更多,这取决于您是否真的想要探索这些选项。
我找到了一个方法。您必须在工件标签中指定filesetid,并使用"filesetid"复制到给定位置
<target name="maven-test">
<artifact:dependencies filesetid="build-dependency-jars">
<dependency groupId="group_id" artifactId="artifact_id" version="version" />
</artifact:dependencies>
<copy todir="./lib/">
<fileset refid="build-dependency-jars" />
<mapper type="flatten" />
</copy>
</target>