taglibs springframework org maven-2 jetty

maven-2 - taglibs - org springframework security maven



¿Cómo implemento varias aplicaciones web pares desde un pom principal? (2)

Tal vez este enlace resuelva tu problema:

http://www.jiajia.eu/post/2008/10/08/Deploy-multiple-web-apps-with-maven-jetty-plugin.aspx .

El enlace de arriba está roto, así que aquí hay uno nuevo:

http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin

Consulte la sección "Ejecución de varias aplicaciones web".

Tengo un conjunto de aplicaciones web que administro que estoy tratando de mover a Maven.

/pom.xml // parent pom webapp1/pom.xml // configured to point to parent webapp2/pom.xml // peer of webapp1 and points to parent.

cada una de las aplicaciones web se refiere al pom principal, y ambos tienen actualmente un complemento de Jetty Maven que funciona.

Mi pregunta es ¿cómo puedo montar cada una de las aplicaciones web desde el pom principal de forma que mvn jetty: run funcione en el directorio principal?

edita a anwer: Pascal T El problema no es tanto que recibo un error cuando intento ejecutar el comando desde la raíz pom, pero no estoy seguro de cómo configurarlo.

por ejemplo, webapp1 / pom.xml se ve así:

<project> ... <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins> ... </project>

cambiar a este directorio y escribir mvn jetty: run funciona bien y me brinda la posibilidad de http://localhost:8080/webapp1 a: http://localhost:8080/webapp1 .

Sin embargo, lo que me gustaría sería estar en el padre de webapp1 y ejecutar todas las aplicaciones web ''n'' desde el directorio principal. Por lo tanto, tener http://localhost:8080/webapp1 , y http://localhost:8080/webapp2 disponible con un parámetro de línea de comando.

por cierto, si la respuesta involucrara un plugin tomcat, estaría bien.


EDITAR : He editado totalmente mi primera respuesta ahora que tengo una mejor comprensión de las expectativas del OP.

Echa un vistazo a Cargo , una envoltura delgada que te permite manipular los contenedores de Java EE de manera estándar .

En realidad, hay un tutorial en el sitio web de Cargo que muestra cómo usar el complemento Cargo Maven2 para iniciar / detener automáticamente un contenedor (posiblemente implementando algunos implementables en él como comienza), que es lo que está buscando de lo que he buscado entendido.

Simplemente no estoy seguro de que hacer esto desde el directorio principal sea factible y si es un requisito o si estaría bien hacerlo desde otro directorio. Volveré sobre esto más tarde. Veamos primero la configuración del complemento Cargo Maven2.

En su caso, puede comenzar con la configuración mínima (que utiliza Jetty 5.x, que es el contenedor predeterminado de Cargo):

[...] <build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> </plugin> </plugins> </build> [...]

Si desea usar Jetty 6.x, deberá especificar <containerId> y <type> en el elemento <container> :

[...] <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <configuration> <container> <containerId>jetty6x</containerId> <type>embedded</type> </container> </configuration> </plugin> [...]

Luego, agregue los módulos que desea implementar definiendo los implementables explícitamente dentro de la configuración del complemento (consulte la Guía de referencia del complemento Maven2 para conocer los detalles de la configuración):

<deployables> <deployable> <groupId>com.mycompany.myproject</groupId> <artifactId>myproject-alpha</artifactId> <type>war</type> <properties> <context>optional alpha root context</context> </properties> </deployable> <deployable> <groupId>com.mycompany.myproject</groupId> <artifactId>myproject-beta</artifactId> <type>war</type> <properties> <context>optional beta root context</context> </properties> </deployable> [...] </deployables>

Con esto, debería poder iniciar Jetty y desplegar sus aplicaciones web con un sencillo (para ejecutar desde el proyecto que contiene la configuración del complemento de carga):

$ mvn cargo:start

Simplemente no estoy seguro de que esto pueda funcionar con el pom principal (me pregunto si esto puede llevar a problemas de dependencias cíclicas) y no lo probé. Pero personalmente, pondría todo esto en el pom de un proyecto dedicado, por ejemplo, en un proyecto de hermanos de sus aplicaciones web, y no en el pom principal. No creo que sea realmente un gran problema y, en mi opinión, es una configuración mejor, especialmente si planea usar carga para las pruebas de integración .