Ich habe zwei jdks installiert - jdk 1.5 und jdk 1.8. Ich habe folgende Ant build.xml-Konfigurationsdatei:
<target name="compileCustomSrc">
<javac srcdir="src" destdir="build/classes" source="1.5" target="1.5" >
<classpath>
<fileset dir="C:/lib/">
<include name="*.jar" />
</fileset>
</classpath>
</javac>
</target>
Vor der Installation von jdk1.8 hat Ant, das von Eclipse aufgerufen wurde, alle Quellen erfolgreich kompiliert. Aber jetzt habe ich folgende Fehlermeldung:
Klasse nicht gefunden: javac1.8
Mein JAVA_HOME und JRE_HOME:
JAVA_HOME = C: \ Programme (x86) \ Java \ jdk1.5.0_16 JRE_HOME = C: \ Programme (x86) \ Java \ jre1.5.0_16
und setzen Sie in Eclipse JRE auf 1.5. Setzt Java 1.8 während der Installation einige Konfigurationen?
quelle
-Dbuild.compiler=javac1.7
) funktioniert auch, wenn es direkt an übergeben wirdant
.Als Folge der Antwort von Kristian Holdhus (als korrekt markiert) können Sie stattdessen das
compiler
Attribut für die Aufgabe Ant javac verwenden . Die Einstellungcompiler="modern"
sollte sowohl rückwärts (bis zurück 1.3) als auch vorwärts kompatibel sein.Dadurch wird vermieden, dass die benannte Java System-Eigenschaft festgelegt werden muss
build.compiler
. Nur wenn dascompiler
Attribut für diejavac
Aufgabe nicht explizit festgelegt wird, verwendet Ant den Wert vonbuild.compiler
als Fallback.quelle
[javac] warning: C:\Program Files\Java\jre1.8.0_152\lib\rt.jar(java/net/ConnectException.class): major version 52 is newer than 51, the highest major version supported by this compiler. [javac] It is recommended that the compiler be upgraded.
usw.Ich hatte das gleiche Problem. Ich hatte JAVA_HOME und JRE_HOME richtig eingestellt. Ich hatte auch Ant> 1.9.
Um dies zu beheben, gehe ich zu Eclipse to Window -> Preferences. Erweitern Sie Ant und wählen Sie Runtime. Standardmäßig sollte die Registerkarte Klassenpfad ausgewählt sein und auf der rechten Seite befindet sich eine Schaltfläche namens "Ant Home". Klicken Sie auf diese Schaltfläche und überprüfen Sie, ob sie auf Ihren Ant-Ordner verweist.
quelle
JAVA_HOME = C:\Program Files (x86)\Java\jdk1.5.0_16 JRE_HOME = C:\Program Files (x86)\Java\jre1.5.0_16
Ihr JAVA_HOME und JRE_HOME sind auf die Java 1.5-Installation eingestellt, daher werden 1.8 Binärdateien (wie
javac
) nicht gefunden. Stellen Sie sie auf die Java 1.8-Installation ein und es sollte Ihnen gut gehen.quelle
Ich habe es mit Eclise versucht und den gleichen Fehler erhalten. Klasse nicht gefunden: javac1.8
Ich habe die ANT-Version auf meinem System überprüft
> Ameisenversion
Als ich versuchte, die Datei build.xml über die Eingabeaufforderung auszuführen, funktionierte es. Dann habe ich überprüft, dass es sich bei der Eclipse um die ältere Version der ANT handelt.
Ich habe einfach den ANT HOME-Pfad in der Eclipse bearbeitet und es hat auch von hier aus funktioniert. :) :)
Unten sehen Sie das Bild, von dem aus der ANT-Pfad in der Eclipse bearbeitet werden muss.
Ändern Sie nun den ANT Home-Pfad von hier aus.
quelle
Aktualisieren Sie Ant auf Version 1.9.x als Java 8, das nicht mit Ant-Versionen unter 1.9 kompatibel ist
quelle
Ich habe alle anderen Lösungen ausprobiert, aber keine hat funktioniert. Endlich habe ich in Eclipse einen Ansatz gefunden, der für mich funktioniert:
ant
Fenster.Run As | External Tool Configurations
JRE
WählenSeparate JRE: Java SE7
Sie dann auf der Registerkarte oder wie auch immer Ihr Java 7 heißt, drücken SieApply
und dannRun
.Ihre Ameisenaufgabe wird ausgeführt und korrekt erstellt!
quelle
Aktualisieren Sie Ant auf Version 1.9.x als Java 8 in Inkompatibilität mit Ant-Versionen unter 1.9 oder nach dem Befehl -Dbuild.compiler = javac1.7 (siehe unten):
ant release -Dbuild.compiler = javac1.7
quelle
Sie können ANT 1.10 auf Ihr System herunterladen und entpacken und versuchen, das ANT-Home in Eclipse für Ihr Projekt auf 1.10 zu ändern. Es sollte funktionieren. Lesen Sie dies für weitere Details. http://devops-badal.blogspot.com/2017/02/class-not-found-javac18-issue-while.html
quelle
Manchmal hängt das Problem beim Erstellen des Krieges durch ANT auch mit der fehlenden Übereinstimmung der Java-Version in den Dateien build.properties zusammen, da build.XML versucht, die in der Eigenschaft build.compiler erwähnte Java-Version zu verwenden
Überprüfen Sie, ob die Eigenschaft build.compiler mit der beabsichtigten Java-Version übereinstimmt.
quelle
Sie können eine neuere Version von Eclipse herunterladen, die eine neuere Version von Ant im Plugins-Verzeichnis enthält. Kopieren Sie dann das Ant-Glas in das Plugin-Verzeichnis der älteren Eclipse. Eclipse zeigt automatisch auf die neuere Version von Ant. Dies funktionierte für ältere Kepler mit neuerem Mars2 für mich.
quelle
Ich hatte das gleiche Problem. Und ich konnte es in der build.xml lösen, indem ich eine Eigenschaft festlegte.
<property "build.compiler=javac1.7">
quelle