Bạn có thể tạo một ivy meta-mô-đun, mà phụ thuộc khi tất cả những gói thông thường, và sau đó có tất cả các dự án khác của bạn giải quyết các thư viện chung thông qua sự phụ thuộc bắc cầu:
<?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="common-libs"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" />
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="oracle" name="ojdbc14_g" rev="10.2.0.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="tomcat" name="servlet-api" rev="6.0.16"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="junit" name="junit" rev="4.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>
và đối với một dự án tiêu biểu:
<?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="myproject"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" extends="runtime"/>
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="com.example" name="common-libs" rev="latest.release"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>
Ở đây tôi đang sử dụng các quy ước đặt tên cấu hình truyền thống từ bản dịch POM-> Ivy của trình giải quyết Maven, mặc dù bạn có thể ánh xạ tên cấu hình theo bất kỳ cách nào có ý nghĩa với bạn. Tôi có xu hướng sử dụng tác vụ ivy: install để sao chép các mô-đun Maven vào kho lưu trữ Ivy của chúng tôi, vì vậy tôi sử dụng các ivy.xml mặc định cho hầu hết các phần. Nếu bạn đang sử dụng IvyRoundup, bạn sẽ chủ yếu muốn ánh xạ cấu hình "mặc định" quá mức.
Nguồn
2009-12-03 20:15:29