Я модернизирую кучу существующих проектов Java с единой сборкой Maven. Поскольку каждый проект является зрелым и установил построенный на основе Ant все, что я использую maven-antrun-plugin
для выполнения существующего build.xml
следующим образом:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<tasks>
<ant antfile="build.xml" target="compile" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Когда я запускаю mvn compile
сбой сборки с этим сообщением:
[INFO] An Ant BuildException has occured: The following error occurred
while executing this line:
build.xml:175: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Java\jdk1.6.0_13\jre"
Что меня озадачивает
- У меня есть
JAVA_HOME=C:\Java\jdk1.6.0_13
как часть моей настройки среды и когда выполняетсяmvn.bat
, которое является точно значением, которое я получаю, однако, как вы видите в сообщении об ошибке, оно появляется какC:\Java\jdk1.6.0_13\jre
- Если я запустил
ant compile
, все компилируется просто отлично
Значит ли это, что maven-antrun-plugin
делает что-то вроде set JAVA_HOME=%JAVA_HOME%\jre
? Я искал файлы своей партии/сборки, я не могу найти, где это происходит.