我继承了一个不会构建的 java 项目。我正在尝试迁移到 Java 17,遇到了我认为称为“拆分包”的问题。
我有几个需要
org.jboss.resteasy:jaxrs-api
的依赖项。我还有其他几个需要com.google.guava:guava
.的依赖项
jaxrs-api
和 guava
都在 javax.annotations
命名空间而不是它们自己的(?)中定义注释。编译时,Maven 失败,例如,[ERROR] module slf4j.api reads package javax.annotation from both jsr305 and jaxrs.api
当我尝试排除
jaxrs-api
时,由于工件的其他内容,构建失败。当我尝试排除 jsr305
时,构建失败,因为一些依赖项似乎需要 module.info 中的库。
我知道这样做的首选方法似乎是在您自己的代码中使用
javax.annotation:javax.annotation-api
,但我认为它对第三方依赖没有帮助。
我不确定如何解决这个问题。我没有直接通过我的依赖项使用任何一个包。