Отказ от ответственности: Я новичок с помощью Ant + Ivyзависимости Resolve плюща из другого проекта в build.xml
У меня есть следующее затмение конфигурации:
ProjectA зависит от ProjectB и ProjectC
ProjectB зависит от Проект C
Каждый проект имеет свой файл ivy.xml.
ProjectA имеет build.xml файл так:
(...)
<ivy:resolve file="../ProjectC/ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<ivy:resolve file="../ProjectB/ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<ivy:resolve file="ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<path id="classpath">
<fileset dir="${webroot}/WEB-INF/lib" erroronmissingdir="no">
<include name="*.jar"/>
</fileset>
<fileset dir="${libraries}" erroronmissingdir="no">
<include name="*.jar"/>
</fileset>
<path refid="ivy.deps.default"/>
</path>
(...)
<javac destdir="c:/abc" includeantruntime="yes" classpathref="ivy.deps.default">
<src path="../ProjectC/src"/>
<classpath refid="classpath"/>
</javac>
(... Compile ProjectB ...)
(... Compile ProjectA ...)
Так работает этот build.xml приводит к ошибке, говоря, что ProjectC не мог собрать, потому что не хватало * .jar файл, который должен иметь был разрешен командой ivy: resolve.
Мой вопрос:
- Как сделать build.xml, который автоматически получать зависимости от дочерних проектов, а также компилировать все дочерние проекты?
Я бы порекомендовал держать каждый проект отдельно со своим собственным плющом. Пусть каждый проект является автономным и публикует свою банку в общий репозиторий, а не пытается разрешить зависимости в другом проекте. Наконец, для многомодульного проекта вы можете использовать задачу построения списка плющ для построения каждого модуля в правильном порядке на основе взаимозависимостей, задокументированных в файле плюща каждого модуля. –
См. Также: http://stackoverflow.com/questions/4106143/ivy-simple-shared-repository/4110220#4110220 –