ivy build - สิ่งประดิษฐ์หลายรายการในเวอร์ชันต่างๆ

เราเพิ่งเริ่มใช้ ant-ivy สำหรับเว็บแอป java และการเดินทางก็ผ่านไปได้ด้วยดี ฉันได้ระบุสกรรมกริยา = 'false' สำหรับการขึ้นต่อกันทั้งหมดและแสดงรายการ log4j เวอร์ชัน 1.2.16 เป็นการขึ้นต่อกัน ฉันต้องใช้ log4j เวอร์ชันล่าสุดเนื่องจากต้องใช้เค้าโครงรูปแบบที่ได้รับการปรับปรุง

ปัญหาหลัก - เมื่อสร้างโปรเจ็กต์ จะมี log4j หลายเวอร์ชันในโฟลเดอร์ ivy-lib เมื่อดูแพ็คเกจ explorer ใน Eclipse ฉันเห็นเวอร์ชันที่ถูกต้องและดูเหมือนว่าจะดาวน์โหลดเพียง 1.2.16 จาก ivycachepath

พอยน์เตอร์ใด ๆ ? ฉันจำเป็นต้องลบการขึ้นต่อกันแต่ละรายการทีละรายการหรือไม่ และดูว่าอันใดที่มีเวอร์ชันเก่ากว่า

ขอบคุณสำหรับความช่วยเหลือ


person sumit    schedule 13.01.2012    source แหล่งที่มา
comment
คุณช่วยแสดงให้เห็นว่าไฟล์บิลด์ของคุณมีลักษณะอย่างไร สองสามสิ่งที่ทำให้ฉันสับสน ตัวอย่างเช่นคุณหมายถึงอะไรโดย ivy-lib? ประการที่สอง การปิดการพึ่งพาสกรรมกริยาเป็นสิทธิ์ของคุณ อย่างไรก็ตาม คุณจะสูญเสียประโยชน์หลักประการหนึ่งของการใช้การจัดการการพึ่งพา   -  person Mark O'Connor    schedule 14.01.2012
comment
คุณลบ/ล้างโฟลเดอร์ lib ก่อนที่จะแก้ไขแต่ละครั้งหรือไม่ Ivy จะไม่ลบสิ่งประดิษฐ์เก่า เว้นแต่คุณจะระบุ sync=true ให้กับงานดึงข้อมูล   -  person oers    schedule 16.01.2012


คำตอบ (1)


ฉันได้รวมตัวอย่าง ant build ซึ่งดาวน์โหลด log4j เป็นการพึ่งพา ลงในไดเร็กทอรีในเครื่องที่เรียกว่า "lib"

$ ant
$ find lib
lib
lib/log4j-1.2.16.jar

ดังที่คุณเห็นว่ามีโถเพียงเวอร์ชันเดียวเท่านั้น หวังว่านี่จะช่วยในการวินิจฉัยปัญหาของคุณได้

build.xml

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="retrieve">

    <property name="lib.dir" location="lib"/>
    <property name="report.dir" location="report"/>

    <target name="retrieve" description="Retrieve dependencies locally">
        <ivy:retrieve pattern="${lib.dir}/[artifact]-[revision](-[classifier]).[ext]"/>

        <ivy:report todir="${report.dir}" graph="false"/>
    </target>

    <target name="clean" description="Remove build directories">
        <delete dir="${lib.dir}"/>
        <delete dir="${report.dir}"/>
    </target>

    <target name="clean-all" depends="clean" description="clean ivy cache">
        <ivy:cleancache />
    </target>

</project>

ivy.xml

<ivy-module version="2.0">
    <info organisation="org.demo" module="demo"/>

    <configurations defaultconfmapping="compile->default">
        <conf name="compile" description="jars used for compilation"/>
    </configurations>

    <dependencies>
        <dependency org="log4j" name="log4j" rev="1.2.16"/>
    </dependencies>
</ivy-module>
person Mark O'Connor    schedule 14.01.2012