Я модернизирую кучу существующих 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
? Я искал свои пакетные / сборочные файлы, я не могу найти, где происходит это изменение