2010-01-18 8 views
8

Estoy usando el complemento Maven Appassembler para empaquetar mi aplicación. Me gustaría empaquetar algunos archivos de configuración con la aplicación. He encontrado los parámetros configurationDirectory y includeConfigurationDirectoryInClasspath, pero no he encontrado cómo debería crear (y completar) ese directorio de configuración. Intenté poner los archivos en src/main/resources, pero eso los coloca en el archivo jar de mi proyecto.¿Cómo incluyo los archivos de configuración con Maven Appassembler?

¿Cuál es la forma "correcta" de hacer esto, utilizando maven?

Respuesta

7

Desafortunadamente esta es una limitación del complemento appassembler en la versión de lanzamiento actual. Normalmente, el complemento se utiliza junto con el complemento de ensamblaje para producir el artefacto final, en el que puede incluir la referencia a su directorio de configuración. Sin embargo, si desea tener una estructura funcional a partir del plugin appassembler, debe copiar manualmente los archivos. Puede encontrar un ejemplo usando el plugin antrun con un directorio src/main/conf aquí: http://svn.apache.org/viewvc/archiva/trunk/archiva-jetty/

+0

Muchas gracias por la ejecución de ant :) –

0

Aparte de eso no se generan los scripts bin para diferentes plataformas. El maven-assembly-plugin puede crear (paquete (s) {tar.gz, zip}) para su distribución. Estos se configuran a través de assemble.xml. Usted especifica qué archivos entran (con qué opciones (chmod)), etc. También puede filtrar archivos (buscar/reemplazar valores dentro de ellos). etc.

1

De forma predeterminada, el complemento utiliza el directorio src/main/config.

es posible cambiar el origen de los archivos de configuración utilizando el parámetro <configurationSourceDirectory>src/main/config</configurationSourceDirectory>

1

Cuando incluyo la propiedad copyConfigurationDirectory, copia los archivos de configuración y los Paquetes de forma adecuada.

<configurationDirectory>etc</configurationDirectory> 
    <configurationSourceDirectory>src/main/config</configurationSourceDirectory> 
    <copyConfigurationDirectory>true</copyConfigurationDirectory> 

Tengo un problema diferente. Me gustaría filtrar mis archivos de configuración antes de copiar, lo que me da algunos problemas.

+0

Tengo el mismo requisito pero no he podido encontrar una solución a esto – Jasonw

0

Años más tarde y en la versión 1.10 del complemento ahora hay una opción de configuración preAssembleDirectory. Lamentablemente, no considero que sea lo suficientemente flexible para mis necesidades porque se copia directamente en assembleDirectory y no permite especificar una ruta de directorio de destino dentro de assembleDirectory.

Cuestiones relacionadas