Maven 使用Ivy中的时间戳解析快照依赖关系
我正在尝试使用Ivy解决时间戳快照依赖关系 环境是Ant+Ivy 1.2.0+Archiva。Archiva本身是从Maven2构建中填充的。Ivy仅用于解决依赖关系(来自单个非Maven2项目)Maven 使用Ivy中的时间戳解析快照依赖关系,maven,ivy,archiva,Maven,Ivy,Archiva,我正在尝试使用Ivy解决时间戳快照依赖关系 环境是Ant+Ivy 1.2.0+Archiva。Archiva本身是从Maven2构建中填充的。Ivy仅用于解决依赖关系(来自单个非Maven2项目) 如何配置Ivy以正确解析来自Archiva或m2存储库的时间戳工件? 作为参考,我当前的配置是: ivysettings.xml看起来类似于: <ivysettings> <settings defaultResolver="archiva-chain"/>
如何配置Ivy以正确解析来自Archiva或m2存储库的时间戳工件?
作为参考,我当前的配置是: ivysettings.xml看起来类似于:
<ivysettings>
<settings defaultResolver="archiva-chain"/>
<resolvers>
<chain name="archiva-chain" changingPattern=".*SNAPSHOT" checkmodified="true">
<ibiblio name="archiva-internal"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/internal"/>
<ibiblio name="archiva-deploy"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/deploy"/>
<ibiblio name="archiva-snapshots"
m2compatible="true"
usepoms="true"
pattern="[organization]/[module]/[revision]/[artifact]-[revision].[ext]"
root="http://host:port/archiva/repository/snapshots"/>
</chain>
</resolvers>
</ivysettings>
快照/com/myorg/myartifact中有一个maven metadata.xml:
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.myorg</groupId>
<artifactId>myartifact</artifactId>
<versioning>
<latest>1.8.0-SNAPSHOT</latest>
<versions>
<version>1.3.0-SNAPSHOT</version>
<version>1.4.2-SNAPSHOT</version>
<version>1.6.1-SNAPSHOT</version>
<version>1.8.0-SNAPSHOT</version>
</versions>
<lastUpdated>20100303003206</lastUpdated>
</versioning>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.myorg</groupId>
<artifactId>myartifact</artifactId>
<version>1.8.0-SNAPSHOT</version>
<versioning>
<snapshot>
<buildNumber>7</buildNumber>
<timestamp>20100303.003206</timestamp>
</snapshot>
<lastUpdated>20100303003206</lastUpdated>
</versioning>
</metadata>
Ivy支持解析时间戳快照,但有以下限制:ibiblio解析器上的指定模式必须以结尾:
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
在您的设置中并非如此,因此Ivy不会尝试查找带时间戳的快照。将您的模式更新到这个模式应该可以解决您的问题;将archiva快照存储库的定义更新为:
<ibiblio name="archiva-snapshots"
m2compatible="true"
usepoms="true"
pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
root="http://host:port/archiva/repository/snapshots"/>
备注:注意[Organization]中的“s”而不是“z”
马丁
-rw-r--r-- 1 archiva archiva 240670 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.jar
-rw-r--r-- 1 archiva archiva 32 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.jar.md5
-rw-r--r-- 1 archiva archiva 40 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.jar.sha1
-rw-r--r-- 1 archiva archiva 4068 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.pom
-rw-r--r-- 1 archiva archiva 32 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.pom.md5
-rw-r--r-- 1 archiva archiva 40 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7.pom.sha1
-rw-r--r-- 1 archiva archiva 180821 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7-sources.jar
-rw-r--r-- 1 archiva archiva 32 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7-sources.jar.md5
-rw-r--r-- 1 archiva archiva 40 Mar 3 10:32 myartifact-1.8.0-20100303.003206-7-sources.jar.sha1
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
<ibiblio name="archiva-snapshots"
m2compatible="true"
usepoms="true"
pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
root="http://host:port/archiva/repository/snapshots"/>