私は、3種類のエラーを取得しています。
- モジュール名を決定できません。..
- 無名のモジュールは、パッケージを読み込みます。..
- モジュールorg.reactivestreamsは両方からパッケージを読み込みます。..
まさにこれらのエラー?
build.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'
}
エラーメッセージ:
タスク:compileJava
エラー:/Users/srihariprasad/.gradle/caches/modules-2/files-2.1/io.github.resilience4j/resilience4j-framework-common/1.3.1/8c16dda86fad3c9251930cad21ac87aa34cd8035/resilience4j-framework-common-1.3用のモジュール名を判断できません.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を読み込みresilience4j.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。1.3.1:私の理解あたりとして、私はresilience4jスプリング-BOOT2からのjarファイルを除外する必要があります。しかし、私はそれを行う方法を理解していませんか?
無名のモジュールによってエクスポートされたパッケージは、別の無名のモジュールで読み取ることができます。無名のモジュールという名前のモジュールを読み込むことができるということはできません(必要)。 http://tutorials.jenkov.com/java/modules.html#unnamed-module
あなたは自動モジュールとしてResilience4jを使用しているが、分割されたパッケージを許可しない程度のルールは、自動モジュール用にカウントされます。複数のJARファイルは、同じJavaパッケージが含まれている(したがって、輸出)した場合、1つだけ、これらのJARファイルの自動モジュールとして使用することができます。私たちは、Resilience4jで、この分割されたパッケージの問題を修正する必要があります。アプリケーションを実行するときに、それまでは、Java VMに-classpath引数を使用することができます。クラスパス上にあなたがJavaの9の前にJavaは無名のモジュールと呼ぶものに含まれるクラスパス上にあるすべてのクラスを行っているだけのように、すべてのあなたの古いJavaクラスを含めることができます。