Полное указание компилятора Eclipse из _within_ build.xml
В качестве эксперимента мы хотим построить наши продукты с использованием Java-компилятора Eclipse (ecj-3.5.jar, загруженного с eclipse.org) на исполняемой версии Java 6 вместо JDK, и, насколько я понимаю, это вопрос добавления это jar для пути к муравьям и установка свойства build.compiler, указывающего на адаптер.
В том числе
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
в моем build.xml и при вызове ant с помощью JRE я получаю ожидаемую ошибку, что адаптер не может быть найден, и, добавив ecj-3.5.jar в путь к классам на панели Eclipse, я могу скомпилировать свой код, как и ожидалось. Я полагаю, что та же функциональность будет доступна с "-lib foo.jar" из командной строки с современными муравьями.
Теперь я хочу указать отв build.xml, который мне нужен ecj-3.5.jar для моего пути к классам, удовлетворяющий тем же условиям, что и выше. Мы уже можем сделать это с помощью задач муравья, поэтому я считаю, что это возможно.
Таким образом, вопрос: как я могу добавить к classpath, используемому javac, чтобы найти компилятортолько изнутри build.xml?
Похоже, что в предстоящем ant4eclipse 1.0 будет включен компилятор Eclipse (для этого я и хотел использовать это), поэтому его обновление (с версии 0.5) должно решить проблему, которая у нас есть.
2010-09-24: Ant4Eclipse все еще на M4 без указания того, когда релиз состоится.
2011-12-01: Мы перешли с муравья на мавена. Сценарии build.xml достигли уровня сложности, и потребовался новый подход. Любой, кому нужно выбрать, что делать - не идите по пути ant4eclipse, за исключением тривиальных проектов.
2012-11-30: Год спустя опыт maven по-прежнему в основном хороший. Существует множество причуд и изменений в мышлении, но большинство имеет смысл в контексте. Maven может легко указать уровень компилятора для отдельных проектов. Мы рассматриваем использование ecj вместо javac (по нескольким причинам), но для большинства целей javac работает хорошо.