我正在尝试使用 ant 和 javac 1.7 编译器编译代码库。目前,代码库使用 1.6 编译器编译,但是当我切换到 1.7 编译器时,我得到以下两个奇怪的地方。
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"
我尝试更改源和目标版本。我还尝试调整内存大小。它似乎没有帮助。