gwt-plugins / gwt-plugins/gwt-eclipse-plugin
Packages accessible from more than one module due to GWT SDK from Eclipse plugin
- Langage dominant
- Java
- Étoiles
- 117
- Forks
- 49
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I have an error on some package since I try to move from java 8 to java 17.
In fact, i compile good through my gradle commands (so I build correctly the project)... But i still have many errors on Eclipse.
I have some errors like:
The package javax.xml.parsers is accessible from more than one module: , java.xml
The main Reason of that this is because on gwt-dev.jar that is included in the GWT SDK from the eclipse plugin. It contains it.
Of course the GWT SDK is in the classpath for the project... and then, I have this error... (as it goes through a conflict)
I am pretty sure somebody ran into this at some point, but i didn't have any clues at the moment.
The easiest solution would be to trick my "gwt-dev.jar" to remove the unnecessary classes but that's not a suitable way to do in the long run...
(like doing:
_zip -d gwt-dev.jar "org/w3c/" "org/xml/" "javax/xml/" "netscape/javascript/"_
)
If it is possible to exclude during runTime the "xerces" group from the gwt-dev.jar, that would be great, but as it is inside the "SDK" I cannot manipulate as I would like to. (it is not installed through a "normal" Gradle implmentation).
I have some gradle command to "install the SDK" automatically through gradle task (I use "org.wisepersist.gwt" version "1.1.19"):
```
eclipse {
project {
natures 'com.gwtplugins.gwt.eclipse.core.gwtNature'
buildCommand 'com.gwtplugins.gwt.eclipse.core.gwtProjectValidator'
buildCommand 'com.gwtplugins.gdt.eclipse.core.webAppProjectValidator'
}
classpath {
containers 'com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER'
}
synchronizationTasks gwtpluginsGdtCorePrefs
}
task gwtpluginsGdtCorePrefs() {
doLast {
// Create GWT eclipse settings
delete("${project.projectDir}/.settings/com.gwtplugins.gdt.eclipse.core.prefs")
File corePrefs = file("${project.projectDir}/.settings/com.gwtplugins.gdt.eclipse.core.prefs")
corePrefs.getParentFile().mkdirs()
if (corePrefs.exists()) {
logger.warn("GWT core preferences already exist and will not be overridden. Use task 'cleanEclipse' first.")
} else {
corePrefs.write('eclipse.preferences.version=1\n')
corePrefs.append('jarsExcludedFromWebInfLib=\n')
corePrefs.append('warSrcDir=\n')
corePrefs.append('warSrcDirIsOutput=true\n')
}
}
}
```
Here is the symptom of the issue:

If I ending up removing the SDK. Of course, I don't have the compile issue BUT I have the error :
The project 'webapp' does not have any GWT SDKs on its build path.

I saw it could be related to: https://github.com/gwt-plugins/gwt-eclipse-plugin/issues/414 but i am not sure.
I try to summarize the best what I put on: https://github.com/gwtproject/gwt/issues/10051 initially.
But indeed , this is a Eclipse Plugin issue and not a GWT issue per say.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Start by reproducing the Java 17 Eclipse setup with the GWT SDK and inspect gwt-dev.jar alongside .settings/com.gwtplugins.gdt.eclipse.core.prefs. Compare the Eclipse classpath with the Gradle setup and the related issues linked in the report. Done means the SDK remains configured while duplicate-module package errors no longer appear.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- developer-experience, tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100