![](/img/trans.png)
[英]The package javax.xml.stream is accessible from more than one module: <unnamed>, java.xml
[英]gwt-user.jar with Java 11 - The package javax.xml.parsers is accessible from more than one module: <unnamed>, java.xml
我正在嘗試切換到 GWT 2.10 和 Java 11(使用 Eclipse 容器作為 GWT 和 gradle 作為依賴項),但是因為一些 java 包被捆綁在 gwt-user:892 中
The package javax.xml.parsers is accessible from more than one module: <unnamed>, java.xml
搜索 web,我找到的解決方案是通過刪除包重新打包 gwt-user.jar 或將我的項目變成一個模塊(我沒有看到它被推薦並且我也不知道有什么影響/鏈反應了)。 這些選項似乎都不好。
有沒有其他方法可以解決這個問題?
最后,我通過從 com.google.gwt 包中獲取依賴項解決了我的問題。 但是我在這里遇到了很多問題,因為我使用的是 gwt 材料,當時它也得到了“大罐子”的依賴。 所以我的 gradle 現在看起來像這樣:
//for Eclipse with GWT plugin (which creates the gwt classpath container):
classpath {
...
containers GWT_CONTAINER //from my gradle properties - com.gwtplugins.gwt.eclipse.core.GWT_CONTAINER/gwt-2.10.0
}
def gmdVersion = '2.6.0' //library GWT Material
def gwtVersion = GWT_VERSION//from my gradle properties file - 2.10.0
def gwtNamespace = 'com.google.gwt' //org.gwtproject in the future i think
api (group: "${gwtNamespace}", name: 'gwt-dev', version: GWT_VERSION)
api (group: "${gwtNamespace}", name: 'gwt-user', version: GWT_VERSION)
api (group: 'com.github.gwtmaterialdesign', name: 'gwt-material', version: "${gmdVersion}") {
exclude group:"${gwtNamespace}", module: "gwt-user"
exclude group:"${gwtNamespace}", module: "gwt-dev"
...
}
api (group: 'com.github.gwtmaterialdesign', name: 'gwt-material-jquery', version: "${gmdVersion}") {
exclude group:"${gwtNamespace}", module: "gwt-user"
exclude group:"${gwtNamespace}", module: "gwt-dev"
...
}
api (group: 'com.github.gwtmaterialdesign', name: 'gwt-material-addins', version: "${gmdVersion}") {
exclude group:"${gwtNamespace}", module: "gwt-user"
exclude group:"${gwtNamespace}", module: "gwt-dev"
...
}
根據每個人的項目結構,其他一些依賴也可能導致類似的問題,所以如果一開始這不起作用,您需要檢查從多個依賴 jars 導入了哪些其他類。或者,您可以嘗試創建一個新項目,您可以在其中模擬僅針對 GWT 相關類的錯誤(只是一個簡單的新空項目,您可以在其中配置基本依賴項),然后嘗試此解決方案,它應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.