2015-06-25 3 views
14

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

Ich konfigurierte installierte JREs in Eclipse, um Java 1.6 zu verwenden. Aber wenn ich versuche, mein ant Ziel auszuführen, erzeugt es einen Fehler - "JRE Version weniger als 1.7 wird nicht unterstützt".

Gibt es eine Möglichkeit, Java 1.6 in der Mars-Version zu verwenden, da ich momentan nicht auf Java 1.7 upgraden kann?

+7

Das Java, das Sie zum Ausführen von Eclipse verwenden, muss nicht mit dem identisch sein, das Sie für Ihre Projekte verwenden. Sie müssen Eclipse mit Java 7 (oder 8) ausführen, aber Java 6 für Ihre Projekte verwenden. –

+0

Ein ähnliches Problem wurde in dieser stackoverflow Frage diskutiert: http://StackOverflow.com/Questions/31808102/Eclipse-Mars-ant-doesnt-Support-JDK-1-6-Anonym/ – rjahn

Antwort

2

Nein, Sie können nicht für JDK1.6 oder weniger gehen, weil Eclipse Mars nur mit Java> = 1.7 läuft. Siehe this Link.

+0

ohhh. Das ist schade :( –

+2

Die bessere Referenz für die Anforderungen von Eclipse ist https://www.eclipse.org/downloads/ - siehe unter ** Tipp **. Aber warum in aller Welt würde ein Entwickler eine EOL-gesteuerte JVM verwenden müssen Führen Sie seine/ihre IDE aus? Selbst wenn Sie Eclipse auf Java 8 ausführen, können Sie immer noch Software * für * Java 6 entwickeln (siehe die Antwort von greg-449). –

+0

Es geht um Version, Version und die Plattform, die sie unterstützen werden. – Badal

2

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

Erklären Sie Eclipse über Java 6 in den Einstellungen in 'Java> Installierte JREs' und setzen Sie das als Standard (oder wählen Sie es in einzelnen Projekten).

+0

Ich habe 1,6 festgelegt Version in installierten JREs, aber es funktioniert nicht, wenn versucht wird, das Ameisen-Ziel durch Eclipse auszuführen –

+0

Welches Ameise Ziel? –

+0

Ameise Ziel, um mein Projekt zu kompilieren und zu implementieren ect in build.xml –

16

Ich hatte das gleiche Problem nach dem Upgrade auf Eclipse Mars.

Ich löste dies durch Ändern der Laufzeitumgebung der externen Tool-Konfiguration des Projekts zu JDK7.

Ich gehe davon wissen, wie JDK7 zu Ihrer installierten jre in Eclipse

öffnen Externe Tools Konfigurationen hinzuzufügen ... und dann die JRE ändern 1,7

Open External Tools Configurations

JDK Dann wechseln Sie die JRE

Change JRE

Aber das wird ein anderes Problem erstellen, wird das kompilierte JAR in JDK 7 sein und dies wird nicht auf Produktionsservern mit JDK6 funktionieren.

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

< Javac target = "1.6" >

Change Task target to 1.6

Per von @dag vorgeschlagen werden und @Chris, Hier ist eine aktualisierte ant javac Aufgabe.

+0

Nach all dem ist immer noch nicht genau das gleiche wie das Kompilieren des Codes mit einem "nativen" 1.6 JDK, daher müssen Sie das 'executable' Attribut hinzufügen, wie Chris vorgeschlagen hat . – dag

+0

Das ist eine gute Frage, kann ich meine Antwort aktualisieren, um das Attribut ant von @Chris answer hinzuzufügen? Ich denke, meine Antwort deckt zwei Seiten ab, indem Ant mit JRE7 ausgeführt wird (die JRE, die für Eclipse verwendet wird, getrennt wird) und das Problem der generierten Bytecodeversion gelöst wird. –

5

Wir behoben das Problem für uns mit einem patched Ant plugin.Für Eclipse Neon, siehe auch this link, wie in den Kommentaren auf der ersten Seite erwähnt.

+3

Beachten Sie, dass [Nur-Link-Antworten] (http://meta.stackoverflow.com/tags/link-only-answers/info) nicht empfohlen werden. SO-Antworten sollten der Endpunkt einer Suche nach einer Lösung sein (vs. ein weiterer Zwischenstopp von Referenzen, die im Laufe der Zeit abgestanden werden). Bitte beachten Sie, dass Sie hier eine eigenständige Zusammenfassung hinzufügen und den Link als Referenz beibehalten – kleopatra

Verwandte Themen