Файл Ant, включите другой файл - PullRequest
0 голосов
/ 06 марта 2012

Позвольте мне сначала описать сценарий. У меня есть основной файл сборки с именем main_build.xml. Этот файл вызывает 4 других файла сборки, определенных для подпроектов, копирует файлы Jar, сгенерированные сборками подпроекта, а затем создает WAR и, наконец, EAR.
Мои зависимости classpath определены в файле XML с именем my_clspath.xml.
Теперь у меня есть два вопроса:
1. Как мне включить файл my_clspath.xml в main_build.xml?
2. Как включить my_clspath.xml в main_build, как сделать classpath доступным для всех 4 вложенных сборок, которые вызываются из этого main_build?.

my_clspath.xml content:

<fileset dir="../myApp_Ear/build/">
    <include name="**/*.jar" />
</fileset>

<fileset dir="../myApp_Ear/lib/">
    <include name="**/*.jar" />
</fileset>

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Попробуйте

<project name="Your Project">
    <include file="my_clspath.xml" />

    <ant antfile="sub1.xml" inheritAll="true" inheritRefs="true" />
</project>

Кроме того, вы должны установить id для наборов файлов.Просто наличие их в вашем файле Ant ничего не делает.

<fileset dir="../myApp_Ear/build/" id="my.EAR.fileset">
    <include name="**/*.jar" />
</fileset>

Затем в sub1.xml вы можете ссылаться на наборы файлов с помощью <fileset refid="my.EAR.fileset" />

Надеюсь, это поможет.

0 голосов
/ 06 марта 2012

Вы действительно должны взглянуть на задачу <subant>. Это именно то, что вы просите: у вас есть мастер-файл build.xml, который вызывает некоторые файлы сборки sub-ant для сборки основных компонентов.

...