bootstrap class path Non défini en conjonction avec-source 1.6

je mets à jour mon application de java 1.6 à 1.7. Quand j'essaie de construire en utilisant Maven 3.2.1, ma construction échoue avec l'Erreur msg ci-dessous:

[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  

j'utilise java 1.7 hotspot et auparavant j'utilisais 1.6 jrockit. Mon application est multi-module et peu de modules compilent et construisent comme d'habitude, ce module a échoué.

j'ai installé java à la maison correctement et mvn --version affiche en dessous de sortie:

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"  

est-ce que je manque quelque chose?

7
demandé sur EmeraldTablet 2014-05-08 17:56:36

2 réponses

Citation ce post:

Java 5.0 et 6 utilisé pour avoir un faible support pour compiler des classes à cibler les anciennes versions de Java. Il a toujours soutenu le précédent version, mais souvent pas plus. Même si vous pouviez compiler version, vous avez dû faire attention à ne pas utiliser la fonctionnalité qui a fait existent dans les versions précédentes.

vous devriez inclure -Xbootclasspath en utilisant javac:

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

ou compiler en utilisant -target 1.7 (ou plus bien sûr):

javac -target 1.7 -source 1.7 Main.java

ou utiliser javac jdk 6:

/path/to/jdk6/bin/javac Main.java
5
répondu R. Oosterholt 2014-12-09 19:11:39

Je l'ai résolu en utilisant la configuration ci-dessous dans mon plugin de compilateur

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

ceci utilisera le jdk que vous avez défini dans votre propriété D'environnement JAVA_HOME

4
répondu EmeraldTablet 2014-05-09 12:31:16