[JAVA] Tipps zum Generieren von Dateien für Eclipse-Projekte mit Gradle

Tipps zum Hinzufügen von Einstellungen zu build.grade beim Generieren eines Eclipse-Projekts mit gradle. Für mich. Diese Einstellungen können über die IDE festgelegt werden, nachdem eine Eclipse-Projektdatei mit gradle erstellt wurde. Dies ist jedoch jedes Mal mühsam. Daher wollte ich sie in build.gradle einfügen.

Entfernen Sie den Pfad aus der .classpath-Datei

Wenn Sie ein Eclipse-Projekt mit einem bestimmten Modul (insbesondere DynamoDBLocal) erstellen, das als Abhängigkeit von Gradle festgelegt ist, schlägt das Eclipse-Projekt fehl, da sich .so und .dll im Klassenpfad befinden. Schließen Sie in diesem Fall den Pfad wie folgt aus der generierten Datei aus.

eclipse.classpath.file {
    whenMerged { classpath ->
        classpath.entries.removeAll { entry -> (entry.path.endsWith('dll') || entry.path.endsWith('so') || entry.path.endsWith('dylib')) }
    }
}

Zu JRE-Standardzugriffsregeln hinzufügen

Bestimmte Pakete (insbesondere javax und javax.smartcardio) sind standardmäßig vor Eclipse verborgen und führen zu einem Fehler. Fügen Sie es in diesem Fall wie folgt zur JRE-Zugriffsregel hinzu.

eclipse.classpath.file {
    whenMerged {
        def jre_container = entries.find { it.path.contains 'org.eclipse.jdt.launching.JRE_CONTAINER' }
        jre_container.accessRules << new org.gradle.plugins.ide.eclipse.model.AccessRule("accessible", "javax/smartcardio/**")        
    }
}

Projekt Natur hinzufügen

Bestimmte Projektnatur (insbesondere Gradle- und STS Gradle-Plugins) ist standardmäßig nicht festgelegt. Fügen Sie in diesem Fall die Projektnatur wie folgt hinzu

eclipse.project {
    buildCommand 'org.eclipse.buildship.core.gradleprojectbuilder'
    natures 'org.eclipse.buildship.core.gradleprojectnature'
}

Im Fall von Buildship tritt außerdem ein Fehler auf, wenn unter .settings keine Voreinstellungsdatei vorhanden ist. Erstellen Sie die Datei daher wie folgt.

tasks.eclipse.doFirst {
	File prefs = file(".settings/org.eclipse.buildship.core.prefs")
	if(!prefs.exists()){
    	prefs.append('''
			connection.project.dir=
			eclipse.preferences.version=1
    		'''.stripIndent())
	}
}

Beachten Sie, dass diese Einstellungen gut zu funktionieren scheinen, wenn Sie bereits verschiedene Einstellungsdateien haben.

gradle cleanEclipse eclipse

Es scheint besser, die Eclipse-Projektdatei einmal zu bereinigen.

Referenzierter Eintrag:

Recommended Posts

Tipps zum Generieren von Dateien für Eclipse-Projekte mit Gradle
Gradle TIPS-Sammlung (für mich)
Tipps zum Umgang mit Enum mit Thymeleaf
Tipps zum Umgang mit Pseudoelementen in Selen
Ermöglichen Sie die Code-Vervollständigung in Eclipse für Mac
Tipps zur Behandlung von gRPC-Fehlern in Ruby
[Für Anfänger] So debuggen Sie mit Eclipse
Eclipse Pleiades All in One für Mac
Techniken zum Lesen von Java-Quellcode in Eclipse
[Gradle] Build-Vorgänge, die häufig in Java-Projekten ausgeführt werden
Bereiten Sie die Protokollausgabe mit log4j in Eclipse vor.
Lösen Sie "Symbol kann nicht aufgelöst werden" in IntelliJ-Projekten mit Gradle auf
[Hinweis] Struts2-Umgebungskonstruktion mit Gradle in Eclipse
Tipps für java.nio.file.Path
Meine Eclipse-Tipps
MVC in Eclipse.
Tipps zum Festlegen der anfänglichen Verzögerung für Poller in XML
Tipps zur guten Verwendung von Canvas mit Xcode