我将我的项目从Maven 1升级到Maven 3。它工作得很好,但我有一些其他的问题。Maven 3没有像下面这样的"properties“标签;
<dependency>
<groupId>commons-logging</groupId>
<properties>
<cdstool.bundle>true</cdstool.bundle>
<war.bundle>true</war.bundle>
</properties>
</dependency>但在发布时,我需要知道哪些依赖项是需要的,这样我就可以将它们复制到我的发布文件夹中的相关文件夹。
这是Ant的目标是从之前的Maven1版本创建一个发行版,它通过检查文件夹的“属性”将某些依赖项复制到某些文件夹,下面是一个示例,但需要复制jars的目标目录不止1个
<j:forEach var="lib" items="${pom.artifacts}">
<j:set var="dep" value="${lib.dependency}"/>
<j:if test="${dep.getProperty('cdstool.bundle')=='true'}">
<ant:copy failonerror="true" todir="${maven.build.dir}/cdstool">
</ant:copy>
</j:if>
</j:forEach>在不使用Ant的情况下,我如何在当前的Maven3项目中做到这一点?
首先,我需要知道依赖属性,这样我才能知道什么东西被复制到哪里,这在我当前的pom依赖中是缺失的,因为没有属性标签。然后,我需要使用Maven Assembly插件将它们复制到我想要的文件夹中。
发布于 2014-05-06 01:30:01
我建议您为每个包创建一个单独的程序集,然后为每个程序集包含或排除所需的依赖项。
https://stackoverflow.com/questions/23473612
复制相似问题