webentwicklung-frage-antwort-db.com.de

ant und Java 8 - "Hauptversion 52 ist neuer als 51, die höchste von diesem Compiler unterstützte Hauptversion"

Ich versuche, mein Ant-Projekt von Java 7 auf Java 8 zu aktualisieren.
(das in "Eclipse Kepler" mit "Java ™ 8-Unterstützung für Eclipse Kepler SR2" implementierte Projekt)

Dafür habe ich Ant 1.9.4 (entsprechend diesem Beitrag http://wiki.Eclipse.org/Ant/Java8 ) heruntergeladen und es als mein "Ameisenheim" konfiguriert. 

wenn ich versuche zu kompilieren, erhielt ich folgende Warnung: "major version 52 is newer than 51, the highest major version supported by this compiler. [javac] It is recommended that the compiler be upgraded."

Der für den Arbeitsbereich definierte Compiler ist jedoch 1.8. (In der Ant-Konfiguration wird der Compiler als derselbe Compiler des Arbeitsbereichs definiert.) 

Irgendeine Idee, was ist passiert? 

Danke vielmals. 

Eyal 

14
Eyal leshem

Bitte überprüfen Sie, ob die von Ant verwendete tools.jar von JDK8 und nicht von JDK7 stammt.

Fenster -> Einstellungen:

Gehen Sie im linken Bereich zu Ant -> Runtime. Überprüfen Sie auf der Registerkarte Classpath die globalen Einträge.

14
manouti

Dieser Fehler tritt in der Regel auf, wenn Unterschiede in der JDK-Version bestehen.

4
Amz

In Ubuntu habe ich es einfach behoben, indem ich javah von jdk (entweder openjdk oder Oracle jdk funktioniert) 7 auf 8 konfiguriert habe:

$ javah -classpath . -d jni/ NativeSorting
./NativeSorting.class: major version 52 is newer than 51, the highest major version supported by this compiler.
  It is recommended that the compiler be upgraded.
$ Sudo update-alternatives --config javah
There are 4 choices for the alternative javah (providing /usr/bin/javah).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah   1081      auto mode
* 1            /usr/lib/jvm/Java-7-openjdk-AMD64/bin/javah   1071      manual mode
  2            /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah   1081      manual mode
  3            /usr/lib/jvm/jdk1.7.0_80/bin/javah            1000      manual mode
  4            /usr/lib/jvm/jdk1.8.0_131/bin/javah           1000      manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah to provide /usr/bin/javah (javah) in manual mode
$ javah -classpath . -d jni/ NativeSorting
$ 
0
林果皞

Stellen Sie sicher, dass Sie Java_HOME in die Classpath-Variablen einfügen: Window-> Java-> Build Path-> Classpath-Variablen zeigen auf "path/to/jdk".

0
sangress