gwt-plugins / gwt-plugins/gwt-eclipse-plugin

Packages accessible from more than one module due to GWT SDK from Eclipse plugin

Open
#504 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
117
Forks
49
PR merge metrics
No merged PRs in 30d

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:
![image](https://github.com/user-attachments/assets/522ee58c-b8a9-4351-8ee1-17cab53f4db7)

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.
![image](https://github.com/user-attachments/assets/05c897c1-71a5-4271-950d-5d4b4268a923)

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.