Ant と javac 1.7 コンパイラを使用してコード ベースをコンパイルしようとしています。現在、コード ベースは 1.6 コンパイラを使用してコンパイルされていますが、1.7 コンパイラに切り替えると、次の 2 つの奇妙な点が発生します。
1)警告が表示されます:「警告:xは内部専用APIであり、将来のリリースで削除される可能性があります」xは内部専用APIの一部ですが、参照するコードの行はxを参照していません(また、参照していません) x 指定されたファイルの任意の場所)。これはいくつかの場所で発生し、それが参照する行はコメント ブロックにあります。
2) コンパイルは次のように終了します。
[javac] The system is out of resources. [javac] Consult the following stack trace for details. [javac] java.lang.StackOverflowError [javac] at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:418) [javac] at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:460) [javac] at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:2053) [javac] at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1565)
javac の私の ant スクリプトにある関連するパラメーターは次のとおりです。
source="1.6" target="1.6" debug="on" debuglevel="lines,vars,source" nowarn="on" fork="yes" executable="C:\Program Files\Java\jdk1.7.0_04\bin\javac" memorymaximumsize="1500m"
ソースとターゲットのバージョンを変更してみました。メモリサイズも調整してみました。役に立たないようです。