2010-03-08 20 views
5

से टाइमस्टैम्प के साथ स्नैपशॉट निर्भरताओं को हल करना Ivy के साथ टाइमस्टैम्पड स्नैपशॉट निर्भरताओं को हल करने का प्रयास कर रहा हूं।आईवी

पर्यावरण एंटी + आइवी 1.2.0 + आर्किवा है। Archiva खुद Maven2 बनाता है से बना है। आइवी केवल निर्भरताओं को हल करने के लिए प्रयोग किया जाता है (एक एकल, गैर Maven2 परियोजना से)।


कैसे आइवी सही ढंग से एक Archiva या एम 2 रिपोजिटरी से टाइमस्टैंप कलाकृतियों को हल करने विन्यस्त किया जा सकता?


संदर्भ के लिए अपने मौजूदा विन्यास है:

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> 

ivy.xml निर्भरता सरल हैं:

<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: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 

एक Maven-metadata.xmlस्नैपशॉट/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> 

Maven-metadata.xmlस्नैपशॉट में/com/myorg /myartifact/1.8.0- स्नैपशॉट:

<?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> 

नहीं सभी को उपयोगी है, लेकिन पूर्णता के लिए, निर्देशिका में फ़ाइलों को स्नैपशॉट/com/myorg/myartifact/संदर्भित स्नैपशॉट के लिए 1.8.0-SNAPSHOT:

-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 

उत्तर

8

आइवी, टाइमस्टैंप स्नैपशॉट को हल करने का समर्थन करता है लेकिन निम्नलिखित सीमा के साथ: अपने ibiblio समाधानकर्ता पर निर्धारित पैटर्न के साथ समाप्त होना चाहिए:

[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"/> 

टिप्पणी:: करने के लिए अपने archiva-स्नैपशॉट भंडार की परिभाषा अद्यतन मन में [संगठन] के '' z 'के बजाय।

मार्टन

+0

यह शानदार है। यह पूरी तरह से काम करता है। धन्यवाद। – bradhouse