Im tratando de utilizar Maven para construir una aplicación independiente¿Cómo se crea un ensamblaje de maven que incluye scripts de shell y archivos de propiedades que no están en el contenedor?
Usando el plugin conjunto descrito en How do you create a standalone application with dependencies intact using Maven?
Esto crea postal widget de distribución que contiene
widget-1.0
widget-1.0/lib/widget.jar
widget-1.0/lib/3rdpartyjar1.jar
widget-1.0/lib/3rdpartyjar2.jar
...
pero en mi árbol src tengo:
src/main/bin/widget.sh
y ésto no crea en el zip distribución final, me gustaría ir aquí
widget-1.0/widget.sh
También en mi árbol src tengo un archivo de propiedades en
src/main/properties/widget.properties
que en la actualidad hacen su camino en
widget-1.0/lib/widget.jar
sino porque yo quiero que sea editable quiero que sea en
widget-1.0/widget.properties
¿Es posible hacer esto dentro de maven?
EDITAR Utilizando la información en el blog obtuve de trabajo de la siguiente manera:
- carpeta bin cambiado el nombre a los scripts carpeta porque este es el nombre estándar Maven
- widget.properties movido en carpeta de scripts
- Modifed mi assembly.xml para contener un conjunto de archivos
Aquí está el nuevo xml
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>distribution</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>widget.sh</include>
<include>widget.properties</include>
</includes>
</fileSet>
</fileSets>
</assembly>
punto Sin embargo menor, pero no puede encontrar una lista de variables de la carpeta de Maven estándar en cualquier lugar, es decir, es que hay un equivalente a $ {} project.build.scriptSourceDirectory de las propiedades de la carpeta
gracias parece un gran blog, lo revisaré y veré si resuelve mi problema. En realidad, mi pregunta era incorrecta. Guardo widget.sh en una carpeta bin, pregunta modificada para inidicar esto. –
@PaulTaylor He editado mi respuesta para reflejar su edición en la pregunta. Buena suerte :)! – jqno
thx @jqno resuelve mi problema –