webentwicklung-frage-antwort-db.com.de

Führen Sie Ant auf Eclipse Mars mit Java 1.6 aus

Ich habe die neueste Version von Eclipse (Mars) heruntergeladen und die erforderliche Java-Version in Eclipse.ini auf 1.6 geändert, da mein Projekt Java 1.6 verwendet.

Ich habe installierte JREs in Eclipse für die Verwendung von Java 1.6 ..__ konfiguriert. Wenn ich jedoch mein Ant-Ziel ausführen möchte, wird ein Fehler angezeigt: 

JRE-Version unter 1.7 wird nicht unterstützt.

Gibt es eine Problemumgehung für die Verwendung von Java 1.6 in der Mars-Version, da ich derzeit kein Upgrade auf Java 1.7 durchführen kann?

20

Das gleiche Problem hatte ich nach dem Upgrade auf Eclipse Mars.

Ich habe dieses Problem gelöst, indem die Laufzeitumgebung der externen Werkzeugkonfiguration des Projekts auf JDK7 geändert wurde.

Ich gehe davon aus, dass Sie wissen, wie Sie JDK7 zu Ihrem installierten Jre in Eclipse hinzufügen.

Externe Werkzeugkonfigurationen öffnen ... und dann die JRE in JDK 1.7 ändern

Open External Tools Configurations

Dann ändern Sie die JRE

Change JRE

Dies führt jedoch zu einem anderen Problem , das kompilierte JAR wird in JDK 7 erstellt und auf Produktionsservern mit JDK6 nicht funktionieren. 

Um dies zu lösen, einfach das Zielattribut in der Aufgabe in 1,6 ändern

<javac target = "1.6">

Change Task target to 1.6

Wie von @dag und @Chris vorgeschlagen, wird hier die Ant-Javac-Task aktualisiert. enter image description here

20
Amr ElAdawy

Wir haben das Problem mit einem patched Ant Plugin behoben. Für Eclipse Neon siehe auch this link , wie in den Kommentaren auf der ersten Seite angegeben.

6
rjahn

sehen Sie sich die Referenz <javac> an https://ant.Apache.org/manual/Tasks/javac.html#compilervalues und fügen Sie Ihrem <javac> - Aufgabe: compiler="javac1.6"source="1.6"target="1.6"executable="[path-to-jdk-1.6/bin/javac]"fork="true"taskname="javac1.6".

5
user4602302

Nein, Sie können nicht für JDK1.6 oder weniger wählen, da Eclipse Mars nur mit Java> = 1.7 ..__ ausgeführt wird. Siehe this -Link.

2
Badal

Das Java, das Sie zur Ausführung von Eclipse verwenden, muss nicht mit dem für Ihre Projekte verwendeten Java identisch sein. Sie müssen Eclipse Mars mit Java 7 (oder 8) ausführen. Sie können jedoch Java 6 für Ihre Projekte verwenden.

Informieren Sie Eclipse über Java 6 in den Voreinstellungen in 'Java> Installierte JREs' und legen Sie dies als Standard fest (oder wählen Sie es in einzelnen Projekten aus).

2
greg-449

Ich habe Eclipse Oxygen auf JRE 1.8 ausgeführt, aber einige alte 1.7-Projekte erstellt und jdk1.7.0_40 als separate JRE installiert und in den Tools external config eingerichtet, aber immer noch den Fehler "jre kleiner als 1.8 nicht unterstützt" erhalten.

Für mich war es einfach, die Build-XML-Konfiguration direkt zu aktualisieren, insbesondere wenn Sie ein anderes Projekt haben, das funktioniert und aus dem Sie kopieren können.

Konkret ging es bei den Startkonfigurationen um:

workspace/.metadata/.plugins/org.Eclipse.debug.core/.launches

Und bearbeitete die entsprechende ...build.xml.launch-Datei und ersetzte:

<booleanAttribute key="org.Eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/>
<stringAttribute key="org.Eclipse.jdt.launching.JRE_CONTAINER" value="org.Eclipse.jdt.launching.JRE_CONTAINER/org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_40"/>

Mit:

<booleanAttribute key="org.Eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<stringAttribute key="org.Eclipse.jdt.launching.VM_INSTALL_NAME" value="jdk1.7.0_40"/>
<stringAttribute key="org.Eclipse.jdt.launching.VM_INSTALL_TYPE_ID" value="org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>

Und Eclipse neu gestartet, um es abzuholen.

Keine Ahnung, ob sich dies in Bezug auf die Eclipse-Unterstützung vorwärts oder rückwärts bewegt, aber es hat mein Problem behoben.

0
Barney

Ich habe vor kurzem dieses Problem mit Java 8 auf meinem Rechner, mit Elicpse Oxygen und mit Ant versucht, ein Java 6-Projekt zu erstellen. Ich habe einige der oben genannten Vorschläge verwendet, aber auch während des Ant-Build-Prozesses auf ein seltsames Verhalten gestoßen. Am Ende hat es geklappt, hier sind meine Schritte:

1) Java-Startseite blieb auf Java 8 gerichtet. 

2) Legen Sie im Ant-Skript die von @Chris vorgeschlagenen Werte fest.

3) Ändern Sie nicht die Ant Runtime-JRE, meine wurde um 8 Uhr verlassen und würde den Ant-Build nicht ausführen, wenn ich sie in 6 geändert habe ...

4) Der Erstellungspfad für Projekteinstellungen und die Compilerebenen waren alle auf 6 eingestellt.

5) Führen Sie den Build aus.

Dies führt zu einem Build auf Java 6-Ebene, das für mich funktioniert hat.

0
Adam