Pregunta

Suponga que está trabajando en un gran proyecto, que se ejecuta en algún servidor de aplicaciones (digamos Tomcat, pero también puede ser Jboss, Jetty o algo más). El proyecto consta de varias guerras, mientras que cada guerra contiene una gran cantidad de frascos. Todo está construido con Maven y lleva mucho tiempo construirlo todo.

Ahora, suponga que un desarrollador realiza un cambio en un solo módulo que produce un frasco pequeño. Para continuar trabajando y probar el cambio, el desarrollador debe reemplazar este jar en las guerras relevantes y reiniciar el servidor (a veces es suficiente para volver a implementar las guerras). Es mucho más rápido que reconstruir toda la aplicación. He visto a muchos desarrolladores (incluido yo mismo) crear scripts de shell para esta tarea.

Sin embargo, podría ser mucho mejor si se pudiera hacer automáticamente usando maven. Digamos que cuando se ejecuta "mvn install", el complemento también irá a una ubicación predefinida (por ejemplo, $ {tomcat} / webapps) y buscará todas las apariencias de myjar.jar y las reemplazará con una nueva versión (tenemos varios jar, ¿recuerdas? )

¿Alguien sabe acerca de un complemento de este tipo? ¿O puede tratarse de alguna otra herramienta que pueda hacer la misma tarea? ¿O alguna mejor idea de cómo hacerlo?

Actualizado: por cierto, si no encuentro una solución, probablemente la implemente yo mismo. Por favor, avíseme si está interesado. Necesitaré algunos probadores beta :)

Actualizado: creé el complemento yo mismo. Consulte http://code.google.com/p/replace-file-plugin/ Se agradece cualquier comentario.

¿Fue útil?

Solución 2

Bueno, las funciones que solicité en esta pregunta, las he implementado yo mismo.Consulte http://code.google.com/p/replace-file-plugin/ Agradeceré cualquier comentario.

Otros consejos

Consulte JRebel .Es genial, reduce mucho el tiempo de desarrollo / implementación.Hay una prueba gratuita de 30 días, así que compruébalo gratis.Compré mi propia licencia, mi empresa tardó unas semanas en aprobar la compra y no podía esperar.

Hombre serio, es genial.Lea sobre esto, puede hacer lo que quiera.

Si puede escribir su script como una compilación de Ant, puede usar Maven Antrunplugin para incrustar la compilación Ant en su ciclo de vida de compilación.

Reduzcamos el alcance a un único archivo de guerra. Creo que lo ampliaría usted mismo a su escenario sin problemas.

Puede probar esta opción: crear un módulo de ensamblaje final que se ejecute rápidamente y combine todos los módulos dependientes en un archivo war.Luego, si inicialmente realiza la instalación del paquete limpio de mvn para toda la compilación, tendrá que instalar el paquete limpio de mvn el módulo dependiente modificado y volver a ejecutar el módulo de ensamblaje final para obtener rápidamente la guerra actualizada.Este es un esquema de compilación con bastante estado (y, por lo tanto, propenso a errores), pero después de familiarizarse con este enfoque para cambiar la propagación, probablemente pensaría que esta es la idea más simple que podría funcionar y funcionar más rápido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top