故事:
我使用 JDK8 和 IVY 作为 ANT Builder 的依赖管理器。一切都很好。我的DocumentBuilderFactory 班级能够找到javax.xml.parsers依赖关系。
问题:
现在我转移到 Open JDK11,现在DocumentBuilderFactory无法找到javax.xml.parsers依赖项。
Eclipse 给了我导入建议,但是当我导入时没有任何反应,并且导入已经表示导入 javax.xml.parsers.DocumentBuilder 无法
像这样解析:

我需要什么解决方案:
我需要 Open JDK 11 的 IVY 依赖项来 javax.xml.parsers支持DocumentBuilderFactory
小智 5
我也面临这个问题,
这是因为DocumentBuilderFactory其他软件包也可用。
原因
有时dependencies会transitive dependencies随身携带
例如,Class也XYZ可以在jarA、JarB中使用JarC。这个问题直到发布Java8后才出现,并随Java Platform Module System一起发布。Java9Java9
该模块系统限制在不同的 jar 中具有相同名称的多个类,我并不是说我们不能在不同的类中具有相同的名称,为此您必须编写module-info.java并将应用程序转换为Module System.
如果您不打算将应用程序移入其中Module System,那么您可以执行以下操作:删除应用程序不需要的依赖项并具有相同的命名类。
就像你的问题你能做什么
eclipsectrl+ shit+ T>class,现在找出由于其他依赖而不需要或传递属性的包>Right click在包名称上,然后单击show in Package Explorer>jar名称remove或excludejar,例如Gradle或Maven或Ivy我知道这个过程很漫长,但这是你的应用程序,你的爱,你必须维护它。
| 归档时间: |
|
| 查看次数: |
17178 次 |
| 最近记录: |