2011-03-03 11 views
11

Estoy buscando un contenedor de servlets ligero y simple para un desarrollo rápido. Por ejemplo, quiero escribir código Java sin volver a compilarlo para ver los cambios en el navegador. Y no me importa que el servlet pueda manejar miles de solicitudes simultáneas, ya que solo necesito instalarlo en mi equipo local de Windows y seré el único que acceda a él.Contenedor de servlets de Java para desarrollo

Me gustaría este tipo de cosas para el desarrollo, de modo que pueda cargar mi guerra a mi contenedor de servlets "en vivo" que tiene un contenedor de servlet más maduro (Tomcat, etc.).

¿Existe algo como esto?

Respuesta

11

Jetty con Jetty Maven plugin será su luz de guía.

[EDIT]:
El enlace original fue muerto. Actualizado en el nuevo jetty-maven-plugin home.

+0

Gracias, lo intentaré. ¿Puedes contarme un poco más sobre la parte de compilación? ¿Puedes simplemente cambiar un archivo .java y lo compila automáticamente? ¿O cómo funciona? –

+0

Con el complemento malf embarcadero, puede configurarlo para escanear sus directorios de origen para cambios en sus archivos. A continuación, recogerá el cambio, lo compilará y lo intercambiará en caliente en su aplicación, o lo que sea que configure para hacerlo. – Jeremy

+0

Configuré el complemento, pero parece que no se implementa automáticamente cuando realizo cambios en los archivos .java. Funciona find para jsps/cosas estáticas pero no para mis archivos Java. ¿Cómo? –

0

Sí, esto es posible como se describe con Eclipse y WTP. Eclipse reconstruirá su código y lo volverá a implementar (por ejemplo) tomcat o embarcadero en cada operación de guardado. También es posible con el maven-jetty-plugin, si está usando maven.

Pero la sobrecarga de apagar el servidor y restaurarlo es muy leve (> 1s) si usa Jetty. Si está contento de hacer esto, tiene muchas más opciones disponibles, como las secuencias de comandos de compilación personalizadas, maven-cargo-plugin, etc.

Recientemente he dejado de intentar mantener un gato de larga duración, girar y matar docenas de instancias de Jetty, y está funcionando bien.

Editar: Tenga cuidado, sin embargo, Jetty y Tomcat tienen un comportamiento diferente a veces. Por ejemplo, el serving of static files via the default servlet.

+0

"Eclipse" está más o menos tan lejos como puedes obtener de "peso ligero". – WhyNotHugo

2

El contenedor de servlets más liviano del que tengo conocimiento es Jetty. No conozco ningún contenedor de servlets que proporcione recargas automáticas de clases, pero puede lograrlo utilizando el complemento IDE JRebel. JRebel no es gratuito, pero es barato y vale la pena el dinero.

Cuestiones relacionadas