Ошибка при использовании Ant API для компиляции файлов Java - «ошибка запуска современного компилятора» - PullRequest
1 голос
/ 30 июня 2011

Я программно использую Ant для компиляции набора файлов Java (используя задачу javac).При выполнении Java-программы я получаю сообщение об ошибке:

Ошибка запуска современного компилятора

Однако, когда я запускаю тот же build.xml из командной строки вместочерез программу компиляция происходит без проблем.

Другой вопрос (/2108429/oshibka-zapuska-sovremennogo-kompilyatora), по-видимому, предполагает, что эта ошибка возникает, когда Ant пытается использовать версию javac, отличную от той, которая уже загружена в JVM.Однако я не указываю какой-либо конкретный компилятор, который будет использоваться, и документация (http://ant.apache.org/manual/index.html), по-видимому, предполагает, что в идеале следует использовать javac, загруженный в JVM.

Программа работает на некоторых машинах, но не работает надругие, единственное заметное различие между машинами - это переменные среды. Программу нужно выполнять на нескольких разных машинах, каждая из которых имеет слегка меняющиеся переменные среды. Поэтому изменение этих переменных не является приемлемым решением.

Я полагаюто, что я ищу, это какой-то способ указать Antчто для задачи javac используйте компилятор, доступный в настоящее время в JVM.

Ответы [ 2 ]

1 голос
/ 01 июля 2011

Как именно вы запускаете муравей из своей Java-программы?
Через Java API, как

File buildFile = new File("build.xml");
Project p = new Project();
...

через ant.bat / ant.sh?
из IDE, как Eclipse?

Используете ли вы JDK или JRE (для javac нужен tools.jar)?
Вы используете fork = true в задаче javac?
Используете ли вы один и тот же пользователь для ant через java и ant через командную строку?

использование:
муравей - диагностика
ant-debug
муравьиный глагол

<echoproperties prefix="ant"/>
<echoproperties prefix="java"/>

чтобы получить более подробную информацию.

1 голос
/ 30 июня 2011

На компьютерах с ошибками убедитесь, что виртуальная машина Eclipse Java указывает на то же местоположение, указанное в JAVA_HOME.Несколько лет назад я помню, что вы могли сделать что-то еще с tools.jar в самом Eclipse, чтобы избавиться от этой проблемы.Я обновлю свой ответ, когда старый сыр снова начнет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...