Я новичок в ANT. У меня есть ниже структуру проекта,ANT компиляция завершена
Project
module1
build.xml
module2
build.xml
lib
Что происходит, я сконфигурированный build.xml в модуле 2 для построения JAR классов module2 и поместить его в папку Lib. Теперь я вызываю build.xml fo module2 из build.xml module1. module1 требует компиляции JAR модуля 2. Я вижу JAR в папке lib, но модуль 1 не компилируется. Может кто-нибудь, пожалуйста, помогите мне? Вот мои build.xml файлы, module1 build.xml,
<?xml version="1.0" encoding="UTF-8"?>
<property name="app.name" value="module1" />
<property name="src.home" value="${basedir}/src/main/java" />
<property name="build.home" value="${basedir}/build" />
<property name="ear.home" value="${basedir}/ear" />
<property name="module2.home" value="../module2" />
<property name="external.lib.dir" value="../lib" />
<path id="lib.path">
<fileset dir="${external.lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<path id="module2.path">
<filelist dir="${module2.home}" />
</path>
<target name="clean">
<delete dir="${build.home}" />
<delete dir="${ear.home}" />
</target>
<target name="prepare" depends ="clean"
description="Create build dirs and copy static files to work dir">
<mkdir dir="${build.home}" />
<mkdir dir="${build.home}/classes" />
</target>
<target name="compile" depends="prepare"
description="Compile Java sources and copy to build/classes dir">
<javac includeantruntime="false" srcdir="${src.home}" destdir="${build.home}/classes">
<classpath refid="lib.path" />
</javac>
<copy todir="${build.home}/classes">
<fileset dir="${src.home}" excludes="**/*.java" />
</copy>
</target>
<target name="includeJar">
<subant target="buildJar">
<fileset dir="../module2/" includes="build.xml" />
</subant>
</target>
<target name="buildEar" depends="includeJar,compile">
<jar destfile="${basedir}/ear/${app.name}.ear" basedir="${build.home}" />
</target>
А вот module2 build.xml,
<?xml version="1.0" encoding="UTF-8"?>
<project name="module2">
<property name="app.name" value="module2"/>
<property name="src.home" value="${basedir}/src/main/java"/>
<property name="build.home" value="${basedir}/build"/>
<echo>
module2 build.xml
</echo>
<target name="clean">
<delete dir="${build.home}"/>
</target>
<target name="init" depends="clean"
description="Create build dirs and copy static files to work dir">
<mkdir dir="${build.home}"/>
<mkdir dir="${build.home}/classes"/>
</target>
<target name="compile" depends="init"
description="Compile Java sources and copy to build/classes dir">
<javac includeantruntime="false" srcdir="${src.home}"
destdir="${build.home}/classes">
</javac>
<copy todir="${build.home}/classes">
<fileset dir="${src.home}" excludes="**/*.java"/>
</copy>
</target>
<target name="buildJar" depends="compile">
<echo>Inside buildJar of module2
</echo>
<jar destfile="../lib/${app.name}.jar"
basedir="${build.home}"
/>
</target>
Пожалуйста размещают build.xml файлы, чтобы иметь лучшее представление о том, что можно было бы Происходил –
редакцию своего поста, чтобы содержать build.xml файлы – paary
@Mark - теперь он работает. Добавлено изменений ниже. Спасибо :) – paary