путь к классу bootstrap не установлен в сочетании с-source 1.6

Я обновляю свое приложение с java 1.6 до 1.7. Когда я пытаюсь построить с помощью Maven 3.2.1, моя сборка завершается с ошибкой ниже Сообщение:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project my-app5: Compilation failure: Compilation failure:
[ERROR] could not parse error message: warning: [options] bootstrap class path not set in conjunction with -source 1.6  

Я использую Java 1.7 hotspot, и ранее я использовал 1.6 jrockit. Мое приложение является мульти модуль и несколько модулей компиляции и сборки, как обычно, этот модуль не удалось.

Я правильно установил java home и mvn --version показывает ниже Выход:

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T23:07:52+05:30)
Maven home: C:UsersmeMaven3apache-maven-3.2.1-binapache-maven-3.2.1bin..
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:Program Filesjdk17051jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"  

Я что-нибудь пропустил?

2 ответов


цитата этот пост:

в Java 5.0 и 6 использовали для компиляции классов цели старые версии Java. Он всегда поддерживал предыдущий версия, но не более. Даже если вы можете скомпилировать для previous версии, вы должны быть осторожны, чтобы не использовать функциональность, которая сделала существуют в предыдущих версиях.

вы должны включить -Xbootclasspath при использовании javac:

javac -Xbootclasspath:/path/to/jdk6/rt.jar -target 1.6 -source 1.6 Main.java

или компиляции используя -target 1.7 (или конечно выше):

javac -target 1.7 -source 1.7 Main.java

или использовать javac jdk 6:

/path/to/jdk6/bin/javac Main.java

Я решил его, используя конфигурацию ниже в моем плагине компилятора

<fork>true</fork>
<executable>${JAVA_HOME}/bin/javac</executable>
<compilerVersion>1.7</compilerVersion>
<source>1.7</source>
<target>1.7</target>  

Это будет использовать jdk, который вы определили в свойстве среды JAVA_HOME