Ich verwende Gradle mit dem Eclipse-Plugin, um Projektdateien für mein Projekt zu generieren, aber ich kann nicht die richtige JRE-Version in .classpath
setzen. Ich kann hinzufügen einen JRE-Container, aber ich kann nicht herausfinden, wie man den Standard-entfernen - und da dieses Projekt zwischen Entwicklern geteilt wird, die unterschiedliche Standardeinstellungen in Eclipse haben, möchte ich dies manuell steuern.Auswahl der richtigen JRE-Version in Gradle mit Eclipse
Die Art, wie ich denke, diese sollte Arbeit, ist in etwa so:
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.6
Seit targetCompatibility
als sourceCompatibility
das gleiche ist, wie ich dieses Setup erwarte die Eclipse-Einstellungen zu gehen, eine JRE finden, die die Spiele Source-Version (und ja, es ist eine auf meinem Rechner - sowohl eine JRE-Installation und eine separate JDK-Installation) und gehen damit.
Statt jedoch nimmt es den Standard, die auf meinem Rechner Java 7.
ich in der Eclipse-Konfiguration ein paar Sachen hinzugefügt versucht werden passiert:
eclipse {
jdt {
sourceCompatibility = 1.6 // tried with and without this
}
classpath {
// tried various ways to remove the old entry, among them:
file.beforeMerged { p -> p.entries.clear() }
// and then I add the "correct" one
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45'
}
}
Dinge zu tun, wie dies Ich beende up mit zwei JRE Container in .classpath
:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" exported="true"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45" exported="true"/>
</classpath>
Wie kann ich te ll Gradle, dass ich nur will ein JRE 1.6 Container, und nicht der Standard auch zu?
Einige Einschränkungen auf, was ich nach:
- Die Standardeinstellung in Eclipse sollte
- Vorzugsweise irrelevant sein, möchte ich das Skript die Container zu sehen - in dem obigen Skript Die Zeichenfolge, die den hinzuzufügenden Container definiert, ist benutzerabhängig. Ich würde es gerne viel besser unter "Installierte JREs" nach einer Version suchen, die der von
sourceConfiguration
entspricht - Ich bin OK mit dem Werfen eines Fehlers, wenn keine solche JRE in Eclipse installiert ist.
auch: für eine Art und Weise Bonuspunkte, die den Bootstrap-Classpath richtig konfiguriert 'Warnung zu vermeiden: [Optionen] Bootstrap-Klassenpfad nicht gesetzt in Verbindung mit "Quelle 1.6" in einer Weise, die benutzerunabhängig ist (dh den Weg zur JRE auf intelligente Weise nach oben zu suchen). –