Thomas_SO
En mi archivo build.gradle actualicé la versión de una dependencia (a saber: com.db:microservice-commons). Después de cargar los cambios de Gradle, recibo el siguiente mensaje de error:
> 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)
La línea 50+ del archivo ‘C:\Projects\Container\mschmidt\mount\booking-service\standalone\build.gradle’ tiene el siguiente aspecto:
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
}
}
No tengo ni idea de qué hacer con esto. Project JDK y Gradle JVM están configurados para Java 11. Esta publicación aquí: El consumidor se configuró para encontrar un tiempo de ejecución de una biblioteca compatible con Java 11, empaquetada como un jar, y sus dependencias declaradas externamente pero: … se refiere a lo mismo problema pero no me ayudó.
¿Alguna idea de lo que está pasando aquí?
Con IntelliJ IDEA, tuve que cambiar qué JDK Gradle usaba para ejecutar. El valor original era JDK 11, lo cambié a JDK 17.
-
Tuve el mismo problema con Android Studio (Electric Eel) en un nuevo proyecto. Actualizado el
Gradle JDK
a 11 del valor predeterminado 8 para arreglar la sincronización del proyecto.– qix
14 de febrero a las 8:47
-
¡Gracias! Revisé todas las configuraciones de la versión JDK específicas de mi proyecto y no encontré nada que todavía apuntara a 11, y me estaba volviendo loco. Pero esto solucionó el problema para mí.
– bcody
26 de mayo a las 7:15
Thomas_SO
Encontré el problema y lo solucioné.
Cambié dos líneas definiendo la compatibilidad en el build.gradle
archivo.
De:
compileOptions {
sourceCompatibility 10
targetCompatibility 10
}
A:
compileOptions {
sourceCompatibility 11
targetCompatibility 11
}
-
Nuestro equipo también se encontró con este problema. Fue causado por la versión Gradle de IntelliJ usando otra JVM. Para resolver esto, vaya a las preferencias: Build, Execution, Deployment> Build Tools> Gradle> Gradle JVM y cambie la versión de jvm allí
– jvwilge
2 de septiembre de 2022 a las 8:36
-
gracias @jvwilge, acabo de pasar una hora más o menos rascándome la cabeza después de declarar sourceCompatibility/targetCompatibility y ¡todavía me enfrento a este problema!
– Renato
9 de septiembre de 2022 a las 12:10
-
igualmente, gracias @jvwilge, he estado luchando durante horas.
–Evan Knowles
20/09/2022 a las 11:40
-
Gracias @jvwilge. Estaba confundido por qué todavía menciona Java 8 a pesar de que configuré el JDK en 11 en Configuración del proyecto.
– Aiono
27/09/2022 a las 11:52
-
@jvwilge gracias hombre! Considere configurar su comentario como respuesta para ayudar a otras personas que no ven los comentarios.
– Vrian7
11 de enero a las 12:44
Cambie la versión de Java que usa Gradle. Como se muestra en la imagen a continuación, elija Java 11. Entonces está bien.
-
igual que stackoverflow.com/a/75355554/19665422
– Thorbjørn Andersen – UFST
17 de marzo a las 12:26
-
Para aquellos que trabajan en múltiples proyectos con diferentes necesidades de versión, puede configurarlo en “Proyecto SDK” para que tenga como valor predeterminado el JDK especificado por las propiedades del proyecto (no tengo idea de por qué este no es el valor predeterminado).
– FreakyDan
12 abr a las 15:21
funciona para mí, cambie el código en el archivo app/build.gradle a esto:
android {
compileSdkVersion 33
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
...
}
o puede cambiarlo en la estructura de archivo/proyecto
en mi caso, no se trataba de la versión de Java. todavía permanece 1.8 (8). si está utilizando la última versión de Kotlin, debe actualizar su Versión Gradle a 6.7.1 o más alto en Estructura del proyecto. recomiendo cambiar Versión del complemento de Gradle a lo último Versión estable.
Un hombre
Incompatible porque este componente declara una API de un componente compatible con Java 11 y el consumidor necesitaba un tiempo de ejecución de un componente compatible con Java 10
El significado de este error es que gradle quiere ejecutarse en SDK 11 y SDK proporcionado por la estructura de su proyecto es de la versión 10
También enfrenté el mismo problema al configurar el proyecto en intelliJ,
“Incompatible porque este componente declara una API de un componente compatible con Java 17 y el consumidor necesitaba un tiempo de ejecución de un componente compatible con Java 11”
Solución: descargué Java SE Development kit 17 e integré JDK 17 con la estructura del proyecto. Funciona.
johnnyasd12
Con IntelliJ IDEA, para mí funcionó con file
-> invalidate caches
-> invalidate and restart
después de corregir la versión de Gradle JDK/JVM.