-U相当于Maven ant任务“artifact:dependencies”

时间:2016-01-18 22:26:24

标签: maven ant

Maven的-U论证迫使Maven出去寻找&下载最新快照。我正在使用Maven ant任务,我正在寻找ant任务“artifact:dependencies”的等效参数

2 个答案:

答案 0 :(得分:0)

  

答案是:没有办法。

但有一种解决方法:〜/ .m2 / settings.xml

创建个人资料并添加:

  <updatePolicy>always</updatePolicy>

到存储库的描述。在我们的例子中,我们使用Artifactory来代理其他repos(以及保存我们的内部项目),这样我就可以通过使用settings.xml来强制“-U”工作。 Maven的Ant任务将采用在settings.xml中定义的属性/ profiles / repos / etc,就像从maven + pom项目中调用一样。

示例摘录:

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>releases</id>
          <name>libs-release</name>
          <url>http://MY_ARTIFACTORY_INSTALL:8081/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://MY_ARTIFACTORY_INSTALL:8081/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <id>myProfile</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>myProfile</activeProfile>
  </activeProfiles>
</settings>

答案 1 :(得分:0)

Ant“artifact:dependencies”可以拥有remoteRepository并释放嵌套元素。因此,您可以使用releases元素属性指定updatePolicy。有关详细信息,请参阅https://maven.apache.org/ant-tasks/reference.html#remoteRepository

<artifact:dependencies ...>
     <remoteRepository id="mySuperDuperNexusRepo"
         url="http://localhost:8081/nexus/content/groups/public/">
             <releases updatePolicy="always"/>
     </remoteRepository>
</artifact:dependencies>

这可能有用。