Incluir archivo del directorio de construcción dentro del archivo JAR.
Quiero incluir un archivo desde mi carpeta build/resources dentro del jar que estoy creando.
Tengo una estructura de directorios como esta:
proyecto/
├─ build/
│ ├─ resources/
│ │ ├─ config.txt
├─ src/...
├─ build.gradle
Y construyo el jar usando esta tarea de Gradle:
tarea fatJar(type: Jar) {
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
¿Cómo puedo incluir mi archivo de configuración dentro del jar manteniendo también los contenidos actuales del “fat” (grande)?
Creo que mover la configuración de build/resources a main/resources funcionaría, pero si hay soluciones alternativas, estoy abierto a ellas.
davy.ai
Para incluir un archivo desde la carpeta
build/resources
dentro del jar que se está creando, puedes modificar la tareafatJar
enbuild.gradle
de la siguiente manera:Esta tarea modificada realiza lo siguiente:
/build/classes/main
(que incluye archivos.class
compilados) al jar.config.txt
en el jar.De esta manera, puedes mantener el contenido “grande” actual al mismo tiempo que se incluye el archivo
config.txt
dentro del jar.Nota: si mueves el archivo
config.txt
asrc/main/resources
, Gradle lo incluirá automáticamente en el jar.