[英]Java9 module error: Can not determine the module name, the unnamed module reads package and module org.reactivestreams reads package from both
我收到 3 個不同的錯誤。
這些錯誤究竟是什么?
構建.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-webflux'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
exclude group: 'org.mockito', module: 'mockito-core'
}
testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.springframework.restdocs:spring-restdocs-webtestclient'
compile("io.github.resilience4j:resilience4j-spring-boot2:1.3.1") {
exclude group: 'org.mockito', module: 'mockito-core'
}
compile("io.github.resilience4j:resilience4j-reactor:1.3.1") {
exclude group: 'org.mockito', module: 'mockito-core'
}
compile('org.springframework.boot:spring-boot-starter-aop')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
}
錯誤信息:
任務:編譯Java
錯誤:無法確定 /Users/srihariprasad/.gradle/caches/modules-2/files-2.1/io.github.resilience4j/resilience4j-framework-common/1.3.1/8c16dda86fad3c9251930cad21ac87aa5/resilience4-common 的模塊名稱.1.jar
錯誤:未命名的模塊從resilience4j.spring.boot.common 和io.github.resilience4j.springboot2 讀取包io.github.resilience4j.timelimiter.autoconfigure
錯誤:未命名模塊從resilience4j.spring.boot.common 和io.github.resilience4j.springboot2 讀取包io.github.resilience4j.retry.autoconfigure
錯誤:未命名模塊從resilience4j.spring.boot.common 和io.github.resilience4j.springboot2 讀取包io.github.resilience4j.ratelimiter.autoconfigure 錯誤:未命名模塊從io.github.resilience4j.circuitbreaker.autoconfigure 讀取包彈性4j.spring.boot.common和io.github.resilience4j.springboot2錯誤:未命名的模塊從resilience4j.spring.boot.common和io.github.resilience4j.springboot2讀取包io.github.resilience4j.bulkhead.autoconfigure
錯誤:模塊org.reactivestreams 從resilience4j.spring.boot.common 和io.github.resilience4j.springboot2 讀取包io.github.resilience4j.timelimiter.autoconfigure
我們如何從哪個 jar 中找到這兩個模塊,以排除它們。 1.resilience4j.spring.boot.common,2.io.github.resilience4j.springboot2。 根據我的理解,我需要從resilience4j-spring-boot2:1.3.1中排除罐子。 但我不明白該怎么做?
未命名模塊導出的包只能被另一個未命名模塊讀取。 命名模塊不可能讀取(需要)未命名模塊。http://tutorials.jenkov.com/java/modules.html#unnamed-module
您使用 Resilience4j 作為自動模塊,但不允許拆分包的規則也適用於自動模塊。 如果多個 JAR 文件包含(並因此導出)相同的 Java 包,則這些 JAR 文件中只有一個可以用作自動模塊。 我們必須在 Resilience4j 中修復這個拆分包問題。 在此之前,您可以在運行應用程序時對 Java VM 使用 -classpath 參數。 在類路徑中,您可以包含所有較舊的 Java 類,就像您在 Java 9 之前所做的那樣。在類路徑中找到的所有類都將包含在 Java 稱為未命名模塊的內容中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.