Vamos a mejorar lo que vimos en un post anterior.
1. NOTA debemos utilizar la versión de gradle 6.6 pues las posteriores tienen un bug en eclipse que crean una carpeta lib adicional
2. Para ello, lo que vamos a hacer es que todos los jars se generen el la carpeta "mytargets" que cuelga directamente del WORKSPACE (al mismo nivel que los proyectos)
En el build.gradle, entre "repositories" y "dependencies" le daremos esta línea
project.jar.destinationDirectory = file("$rootDir/../mytargets")
para hacernos una idea:
Pero debemos de tener precaución de no llamar a los jars generados (en cada propyecto) con el mismo nombre pues se pueden machacar unos con otros.
3. Ahora para las nuestras dependencias debemos apuntar a esa ruta
implementation files(
'../mytargets/a-annotations-1.0.jar',
'../mytargets/a-basic-utils-1.0.jar')
Lo demás queda igual
Veamos un ejemplo del gradle.build
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | /* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java library project to get you started. * For more details take a look at the 'Building Java & JVM projects' chapter in the Gradle * User Manual available at https://docs.gradle.org/7.0.2/userguide/building_java_projects.html */ plugins { // Apply the java-library plugin for API and implementation separation. id 'java-library' //id 'war' //Sinó no funciona providedCompile } repositories { // Use JCenter for resolving dependencies. jcenter() mavenCentral() } // My customization //project.jar.destinationDirectory = file("$rootDir/mytarget") project.jar.destinationDirectory = file("$rootDir/../mytargets") project.archivesBaseName = 'c-dao' project.version = '1.0' dependencies { // Use JUnit test framework. testImplementation 'junit:junit:4.13' /*********************************************************************** *********************** LOMBOK DEFINITION ******************************/ compileOnly 'org.projectlombok:lombok:1.18.20' annotationProcessor 'org.projectlombok:lombok:1.18.20' testCompileOnly 'org.projectlombok:lombok:1.18.20' testAnnotationProcessor 'org.projectlombok:lombok:1.18.20' /************************************************************************/ // This dependency is for local jars in the folder mylibs /* implementation files('mylibs/a-annotations-1.0.jar', 'mylibs/a-basic-utils-1.0.jar', 'mylibs/b-base-control-model-1.0.jar') */ implementation files('../mytargets/a-annotations-1.0.jar', '../mytargets/a-basic-utils-1.0.jar', '../mytargets/b-base-control-model-1.0.jar') //implementation files('mylibs/*.jar') //NO VA !!! /* Apache.commons */ implementation "org.apache.commons:commons-exec:1.3" /* Apache general */ implementation "commons-io:commons-io:2.8.0" implementation "org.apache.commons:commons-lang3:3.12.0" /* Jakarta --> Need plugin "war" */ //providedCompile "jakarta.annotation:jakarta.annotation-api:2.0.0" compileOnly "jakarta.annotation:jakarta.annotation-api:2.0.0" /* HIbernate */ implementation "org.hibernate:hibernate-core:5.4.31.Final" implementation "org.hibernate:hibernate-envers:5.4.31.Final" //implementation "org.hibernate:hibernate-testing:5.4.31.Final" implementation "org.hibernate:hibernate-validator:7.0.1.Final" /* Jackson */ implementation "com.fasterxml.jackson.core:jackson-core:2.12.3" //implementation "com.fasterxml.jackson.core:jackson-annotations:2.12.3" //implementation "com.fasterxml.jackson.core:jackson-databind:2.12.3" implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.12.3" //implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.3" } |
No hay comentarios :
Publicar un comentario