15

が必要な Javadoc タグレットをコンパイルしようとしたときに、$JAVA_HOME/lib/tools.jarant (バージョン 1.8.4)が. 私はこれを次のように確認しました:java.home$JAVA_HOME/jre$JAVA_HOME

<echo>${java.home}</echo>
<echo>${env.JAVA_HOME}</echo>

[echo] /usr/java/jdk1.7.0_21/jre
[echo] /usr/java/jdk1.7.0_21

によるとant -diagnostics、 のようなプロパティはありませんjdk.home。したがって、使用するtools.jarには、次のことを行う必要があります。

<classpath location="${java.home}/../lib/tools.jar"/>

だから、私は2つの質問があります:

java.home1) JDK ではなく JRE を指す原因となっている ant のセットアップに何か問題がありますか?

2)これantの動作方法である場合..、クラスパスでの使用は、私が行うべき方法ですか?それとも私がすべきです${env.JAVA_HOME}/lib/tools.jarか?それともまったく別のものですか?

4

2 に答える 2

4

同じ問題がありました。タグに追加fork="true"すると、この問題が解決することがわかりました。javacしたがって、次のようにします。

<javac target="1.7" source="1.7" fork="true" ...>

これが機能する理由を説明できる人に感謝します。

于 2015-11-08T15:00:32.393 に答える