在我的 build.gradle 文件中,我升级了一个依赖项的版本(即:com.db:microservice-commons)。
加载 gradle 更改后,我收到以下错误消息:
> Build file 'C:\Projects\Container\mschmidt\mount\booking-service\standalone\build.gradle' line: 50
> A problem occurred evaluating project ':standalone'.
> Could not resolve all files for configuration ':standalone:runtimeClasspath'.
> Could not resolve com.db:microservice-commons:2.4.1.
Required by:
project :standalone
project :standalone > project :service
> No matching variant of com.db:microservice-commons:2.4.1 was found. The consumer was configured to find a runtime of a library compatible with Java 10, packaged as a jar, preferably optimized for standard JVMs, and its dependencies declared externally but:
- Variant 'apiElements' capability com.db:microservice-commons:2.4.1 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 10
- Other compatible attribute:
- Doesn't say anything about its target Java environment (preferred optimized for standard JVMs)
- Variant 'runtimeElements' capability com.db:microservice-commons:2.4.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 10
- Other compatible attribute:
- Doesn't say anything about its target Java environment (preferred optimized for standard JVMs)
- Variant 'samplessources' capability com.db:microservice-commons:2.4.1:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about how its dependencies are found (required its dependencies declared externally)
- Doesn't say anything about its target Java environment (preferred optimized for standard JVMs)
- Doesn't say anything about its target Java version (required compatibility with Java 10)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about its usage (required a runtime)
文件“C:\Projects\Container\mschmidt\mount\booking-service\standalone\build.gradle”的第 50 行以上如下所示:
manifest {
def manifestClasspath = configurations.runtimeClasspath.collect { it.getName() }.join(' ')
attributes 'Archiver-Version': 'Plexus Archiver'
attributes 'Build-Jdk': org.gradle.internal.jvm.Jvm.current()
attributes 'Main-Class': 'com.db.service.standalone.Standalone', 'Class-Path': manifestClasspath
}
}
我不知道该怎么办。项目 JDK 和 Gradle JVM 设置为 Java 11。
这篇文章在这里:消费者被配置为查找与 Java 11 兼容的库的运行时,打包为 jar,及其在外部声明的依赖项,但是: https://stackoverflow.com/questions/68087672/the-consumer-was-configured-to-find-a-runtime-of-a-library-compatible-with-java...属于同样的问题,但没有帮助我。
有什么想法吗?