Проблемы с компиляцией с использованием ant и Java 1.7
Я пытаюсь скомпилировать кодовую базу, используя ant и javac 1.7 compiler. В настоящее время кодовая база компилируется с использованием компилятора 1.6, но когда я переключаюсь на компилятор 1.7, я получаю две следующие странности.
1) Я получаю предупреждение: "warning: x является внутренним проприетарным API и может быть удален в будущем выпуске", где x является частью внутреннего проприетарного API, но строка в коде, на который он ссылается, не ссылается на x (и не ссылается на него) х в любом месте данного файла). Это произошло в нескольких местах, и строка, на которую он ссылается, находится в блоке комментариев.
2) Компиляция заканчивается следующим:
[javac] The system is out of resources. [javac] Consult the following stack trace for details. [javac] java.lang.StackruError [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)
Соответствующие параметры, которые есть в моем ant-скрипте для javac:
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"
Я попытался изменить исходную и целевую версии. Я также попытался настроить размер памяти. Кажется, это не помогает.
1 ответ
(Просто скопируйте мой комментарий к ответу, на случай, если он окажется ответом.)
Это вполне может быть ошибка компилятора Java 7. Однако вы можете дать компилятору больше памяти, запустив javac
с аргументом вроде -Xss16M
, Это делает размер стека потока 16 МБ против 1 МБ по умолчанию. Это может быть жизнеспособным обходным путем.
Сообщение о внутренних API не связано и может быть проигнорировано.