Con el nuevo proceso de cambio de nombres desde "javax" a "jakarta", hay que tener cuidado.
Para las librerías que solo se usan en compilación, se puede utilizar estas 2 definiciones de dependencias en "dependencies {" del build.gradle
- compileOnly (si se va a crear el jar solamente)
- providedCompile (solo si se usa elplugin "war")
Por tanto si vamos a crer un jar, debemos de defiirlo como:
compileOnly "jakarta.annotation:jakarta.annotation-api:2.0.0"
Si hubiéramos puesto la segunda opcion (providedCompile "jakarta.annotation:jakarta.annotation-api:2.0.0") sin haberle metido la línea "id war" en "plugins {" del build.gradle, hubieramos tenido este error:
Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.0.2-bin.zip'.
cannot assign instance of java.util.Collections$EmptyList to field java.lang.StackTraceElement.moduleVersion of type java.lang.String in instance of java.lang.StackTraceElement B-DAO-lib line 0 Gradle Error Marker
En caso que hubiésemos utilizado el plugin "id war" con providedCompile, NO CREARÁ EL FICHERO JAR, a menos que le demos a la task "jar" en vez de "build"
No hay comentarios :
Publicar un comentario