que mvn introduccion hace estructura ejemplo conceptos clean basicos maven maven-assembly-plugin

maven - introduccion - mvn clean install que es



¿Cuándo deben colocarse los scripts en/src/main/scripts(estándar de Maven) y cuándo no? (0)

El diseño de directorio estándar de Maven dice que los scripts deben colocarse en src/main/scripts en un proyecto de maven. Además de las ventajas de la "convención sobre la configuración", ¿hay otras ventajas de hacerlo de esta manera? Tengo un proyecto que crea un jar-with-dependencies ejecutable utilizando el complemento de ensamblaje. También hay algunos scripts útiles que lo acompañan. ¿Hay alguna herramienta que aproveche este diseño para construir otra cosa, por ejemplo, un archivo que incluya el jar y estos scripts en una ubicación razonable?

[actualización] De hecho, me atrevería a decir que poner scripts en src/main/scripts es una desventaja , en lo que respecta al uso del complemento de ensamblado de maven ... Parece que TODO bajo /src/main (excepto src/main/java por supuesto) se copia en el directorio raíz de las dependencias jar, con src/main/resources , donde esto es útil. Pero no hay una buena razón para tener scripts en el frasco, aunque no hace ningún daño en particular. Si, en lugar de colocarlos en src/main/scripts , uno los coloca en src/scripts (de manera análoga al estándar src/assembly , que tampoco está incluido), entonces no se copian en el contenedor y pueden ser copiados por una ejecución posterior del complemento de ensamblaje en un archivo más grande.

Actualización: Parece que debemos distinguir entre los scripts de tiempo de ejecución que se inician desde dentro del código java y otros que inician el jar o hacen otras cosas. Para los primeros, ponerlos en src/main/scripts puede ser apropiado. Para el último, inadecuado.

Actualización: ingresé un error en contra de la documentación de Maven sobre esto.

Actualización: el directorio src/main/scripts se eliminó de la documentación de Diseño de directorio estándar debido a que era engañoso . (Sin embargo, aún quedan remanentes en Introducción a POM ya que está vinculado a la propiedad project.build.scriptSourceDirectory ).