【发布时间】:2019-08-02 12:55:43
【问题描述】:
模块化现有项目我遇到了以下问题:
javac (java 10 或 11) 抱怨:
[ERROR] module org.apache.commons.lang3 reads package javax.xml.soap from both java.xml.ws and java.xml.soap
(很多其他模块都会出现这个错误)
所以它说包“java.xml.soap”来自“java.xml.ws”模块。对吧?
这就是
mvn dependency:resolve
告诉我有关 java.xml.ws:
javax.xml.ws:jaxws-api:jar:2.3.1:compile -- module java.xml.ws
当我查看 jaxws-api-2.3.1.jar 时,只有以“javax.xml.ws”开头的包。但没有“java.xml.soap”。
通过 jar 命令描述模块会显示以下内容:
$ jar --file=jaxws-api-2.3.1.jar --describe-module
java.xml.ws jar:file:///C:/Users/xxx/.m2/repository/javax/xml/ws/jaxws-api/2.3.1/jaxws-api-2.3.1.jar/!module-info.class
exports javax.xml.ws
exports javax.xml.ws.handler
exports javax.xml.ws.handler.soap
exports javax.xml.ws.http
exports javax.xml.ws.soap
exports javax.xml.ws.spi
exports javax.xml.ws.spi.http
exports javax.xml.ws.wsaddressing
requires java.annotation
requires java.base mandated
requires java.logging
requires java.xml.bind
requires java.xml.soap
uses javax.xml.ws.spi.Invoker
uses javax.xml.ws.spi.Provider
uses javax.xml.ws.spi.ServiceDelegate
uses javax.xml.ws.spi.WebServiceFeatureAnnotation
那么为什么 javac 会抱怨呢?
【问题讨论】:
-
使用
jar --file=jaxws-api-2.3.1.jar--describe-module查看是否导出包javax.xml.soap。 -
无法正确格式化评论;但是,--describe-module 不会导出 java.xml.soap(它只需要 java.xml.soap) - 更新了 naman 建议的问题
-
请将问题的详细信息作为编辑更新。
标签: java java-module java-platform-module-system