【问题标题】:Ivy project can't get the latest Maven snapshot (with assembly plugin)Ivy 项目无法获取最新的 Maven 快照(带组装插件)
【发布时间】:2013-04-28 11:29:53
【问题描述】:

Ivy 项目依赖 maven 项目(使用汇编插件)时,会出现问题。例如:

  1. Maven 项目: 假设 maven 项目将部署 2 个快照包:例如,一个是 my-app-1.0.0-20130504.000602-1.jar,另一个是 my-app-1.0.0-20130504.001348-1-myzip.zip。 pom.xml如下所示。

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <packaging>jar</packaging>
    <version>1.0.0-SNAPSHOT</version>
    
    <... ...>
    
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.2.1</version>
          <configuration>
            <descriptors>
              <descriptor>src/main/assembly.xml</descriptor>
            </descriptors>
          </configuration>
          <executions>
            <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.7</version>
          <configuration>
            <groupId>${project.groupId}</groupId>
            <artifactId>${project.artifactId}</artifactId>
            <version>${project.version}</version>
            <packaging>zip</packaging>
            <file>my-app-1.01-myzip.zip</file>
          </configuration>
        </plugin>
      </plugins>
    </build>
    
    </project>
    
  2. 常春藤项目

    Ivy 项目依赖于上述 maven 项目发布的 2 个工件。 ivy.xml如下图:

    <configurations>
      <conf name="get-maven" />
    </configurations>      
    <dependencies>
      <dependency org="com.mycompany.app" name="my-app" rev="1.0.0-SNAPSHOT" changing="true" conf="get-maven->default">
        <artifact  name="my-app" ext="jar" type="jar"></artifact> 
        <artifact  name="my-app" ext="zip" type="zip" m:classifier="myzip"></artifact>  
      </dependency>
    </dependencies>
    

问题: 每次maven项目将新快照部署到artifactory服务器时,ivy项目可以从artifactory服务器检索到最新的my-app-xxx.jar,但无法检索到最新的my-app-xxx-myzip.zip( ivy 无法知道 zip 是否已更新,只能从本地缓存中检索 zip)。 我要做的就是删除本地缓存,重新运行ivy项目。

我做了一些调查,发现 ivy 任务“convertpom”没有将 app-xxx-myzip.zip 从 pom 转换为 ivy,只能找到 1 个工件(my-app-xxx.jar)在转换后的 ivy.xml 中。不确定这是否是根本原因。

有人可以帮忙吗?如何获取 ivy 项目中两个工件的最新快照?

问候, 阿尔本

【问题讨论】:

    标签: maven ivy


    【解决方案1】:

    所以澄清一下,您是在尝试配置 ivy 以拉下 Maven 项目发布的快照依赖项?

    在这种情况下,下面的答案将有助于解释:

    【讨论】:

      猜你喜欢
      • 2019-05-15
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2017-05-16
      • 2012-11-29
      • 1970-01-01
      • 2012-11-03
      • 2015-09-01
      相关资源
      最近更新 更多