Plug-in Gradle eclipse - impossible d'attacher le code source
Le code source est attaché au JAR, mais Eclipse continue d'afficher «Source not found» pendant que je suis passé à la source via «F3 - Open Declaration».
Outils testés:
-
Gradle 2.4
-
Eclipse 4.4
1. Projet Gradle Eclipse
1.1 A web project build with Gradle and development in Eclipse IDE.
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' //...
1.2 Generate the Eclipse project settings.
$ gradle eclipse
2. Problème - Chemin de classe Eclipse
Examinez le chemin de classe Eclipse généré, Java Build Path. Gradle crée un autre «Web App libraries» et y assigne toutes les dépendances, mais sans le code source.
Et les «bibliothèques d'applications Web» ont la priorité absolue à charger.
C'est la raison qui a provoqué le message d'erreur «Source non trouvée».
2. Solution
Pour résoudre ce problème, placez les bibliothèques «Web App» en bas du chemin de construction.
Ce script Gradle réorganisera toujours les «Web App libraries» en bas à chaque fois que vous générez le fichier de chemin de classe Eclipse via Gradle
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' eclipse.classpath.file { withXml { xml -> def node = xml.asNode() node.remove( node.find { it.@path == 'org.eclipse.jst.j2ee.internal.web.container' } ) node.appendNode( 'classpathentry', [ kind: 'con', path: 'org.eclipse.jst.j2ee.internal.web.container', exported: 'true']) } }
Crédit àAndreas Kuhrwahl, voir cethread.
Note
Je souhaite que l'équipe Gradle corrige ce problème bientôt, un peu drôle de mettre un hack dansbuild.gradle
pour attacher simplement le code source.