Несоответствие версии Java в Maven
У меня возникает странная проблема при попытке создать мое приложение с использованием Maven в командной строке. (Другие вопросы, которые я видел в SO, ссылаются на создание внутри Eclipse или другой среды IDE)
Когда я пытаюсь построить, maven жалуется, что он не может найти Javac в tools.jar. Глядя на данное местоположение, очевидно, что Maven ищет в каталоге JRE, однако я, похоже, не могу заставить Maven указать на правильный Java_home для моего JDK - любые идеи о том, как это сделать?
Обзор среды
JAVA_HOME=C:\jdk1.6.0_27
Path=C:\jdk1.6.0_27\bin;...... (showing the jdk is the first thing on the path)
D:\> javac -version
javac 1.6.0_27 <-- This is correct
D:\>java -version
java version "1.6.0_31" <-- wtf?
D:\>mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_31 <--- This is the problem - Where
Java home: C:\Program Files (x86)\Java\jre6 <--- does Maven get this from?
Любой свет, который вы могли бы пролить на это, был бы очень желанным.
Ответы
Ответ 1
Попробуйте настроить toolchains.xml в своем каталоге maven (например, D:\maven-2.2.1\conf) в вашу версию java
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<version>1.5</version> <!--This should be same as is configured via the toolchains plugin -->
<vendor>ibm</vendor> <!--This should be same as is configured via the toolchains plugin -->
</provides>
<configuration>
<jdkHome>C:\Program Files\Java\jdk1.5.0</jdkHome>
</configuration>
</toolchain>
</toolchains>
Ответ 2
посмотрели ли вы свои свойства build-local.properties или build.properties? возможно, все еще указывая на JRE.
Это должно быть чисто проблемой пути сборки где-то вдоль пути.
Извините, что вы указали это как ответ, потому что я не могу добавить комментарии.