Tôi đang cố gắng giải quyết các phụ thuộc SNAPSHOT được định thời gian với Ivy.Giải quyết các phụ thuộc SNAPSHOT với dấu thời gian từ Ivy
Môi trường là Ant + Ivy 1.2.0 + Archiva. Bản thân Archiva được xây dựng từ Maven2. Ivy chỉ được sử dụng để giải quyết các phụ thuộc (từ một dự án duy nhất, không phải Maven2).
Làm thế nào để Ivy có thể được định cấu hình để phân giải chính xác các hiện vật có dấu thời gian từ kho lưu trữ Archiva hoặc m2?
Để tham khảo cấu hình hiện tại của tôi là:
ivysettings.xml trông tương tự như:
<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>
Các ivy.xml phụ thuộc rất đơn giản:
<ivy-module version="2.0">
<info organisation="com.myorg" module="myapp"/>
<dependencies>
<dependency org="com.myorg" name="myartifact" rev="1.8.0-SNAPSHOT" changing="true"/>
</dependencies>
</ivy-module>
Ivy không cố gắng giải quyết hiện vật có dấu thời gian. Ví dụ.
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] module not found: com.myorg#myartifact;1.8.0-SNAPSHOT
[ivy:retrieve] ==== archiva-internal: tried
[ivy:retrieve] -- artifact com.myorg#myartifact;1.8.0-SNAPSHOT!myartifact.jar:
[ivy:retrieve] http://host:port/archiva/repository/internal/com.myorg/myartifact/1.8.0-SNAPSHOT/myartifact-1.8.0-SNAPSHOT.jar
[ivy:retrieve] ==== archiva-deploy: tried
[ivy:retrieve] -- artifact com.myorg#myartifact;1.8.0-SNAPSHOT!myartifact.jar:
[ivy:retrieve] http://host:port/archiva/repository/deploy/com.myorg/myartifact/1.8.0-SNAPSHOT/myartifact-1.8.0-SNAPSHOT.jar
[ivy:retrieve] ==== archiva-snapshots: tried
[ivy:retrieve] -- artifact com.myorg#myartifact;1.8.0-SNAPSHOT!myartifact.jar:
[ivy:retrieve] http://host:port/archiva/repository/snapshots/com.myorg/myartifact/1.8.0-SNAPSHOT/myartifact-1.8.0-SNAPSHOT.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: com.myorg#myartifact;1.8.0-SNAPSHOT: not found
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]
[ivy:retrieve]
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
Có một maven-metadata.xml trong snapshots/com/myorg/myartifact:
<?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>
Các maven-metadata.xml trong snapshots/com/myorg /myartifact/1.8.0-SNAPSHOT:
<?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>
Không phải tất cả những gì hữu ích, nhưng cho đầy đủ, các tập tin trong thư mục snapshots/com/myorg/myartifact/1.8.0-SNAPSHOT cho ảnh chụp tham khảo:
-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
Thật tuyệt vời. Nó hoạt động hoàn hảo. Cảm ơn. – bradhouse