私は Java 6 と Ant 1.6 で問題なくビルドしていましたが、現在は Java 7 と Ant 1.8.4 を使用しており、いくつかの問題があります。私はかなりの数を克服しましたが、私が立ち往生しているものがあります。
私はいくつかの一般的なターゲットを含むファイルを持っています。
<target name="common_init">
<path id="project.class.path">
... stuff
</path>
</target>
および 2 つのビルド ファイル: buildfile1.xml
<?xml version="1.0"?>
<!DOCTYPE project [
<!ENTITY common SYSTEM "file:./common.xml">
]>
<project name="proj1" default="main" basedir=".">
<!-- import common targets using a xml entity definition -->
&common;
...
<target name="compile" depends="common_init">
<javac
srcdir="..." destdir="..." debug="on" deprecation="off" optimize="on" includes="**/*.java" source="${javac.target}" target="${javac.target}">
<src path="..."/>
<classpath refid="project.class.path"/>
</javac>
</target>
...
</project>
それはうまくいきます。しかし、ほぼ同じ 2 番目のビルド ファイルでエラーが発生します。
Reference project.class.path not found.
2 番目のビルド ファイルは次のとおりです。
<?xml version="1.0"?>
<!DOCTYPE project [
<!ENTITY common SYSTEM "file:./common.xml">
]>
<project name="proj1" default="main" basedir=".">
<!-- import common targets using a xml entity definition -->
&common;
...
<target name="compile" depends="common_init">
<javac
srcdir="..." destdir="..." debug="on" deprecation="off" optimize="on" includes="**/MyFile.java" source="${javac.target}" target="${javac.target}">
<classpath refid="project.class.path"/>
</javac>
</target>
...
同じプロジェクト名が問題かもしれないと(ストローを握りしめながら)考えましたが、違います。両方のビルドファイルは、次を使用してより高いレベルのビルド ファイルから開始されます。
<ant antfile="buildfileX.xml"...>
どんな助けでも大歓迎です。
ポール