Implicaciones de construir un programa de Java contra los frascos de un contenedor web e implementarlo en otro

StackOverflow https://stackoverflow.com/questions/6819688

Pregunta

¿Cuáles son las implicaciones de construir un programa Java contra los frascos de un contenedor web (digamos el embarcadero) y ejecutarlo en otro (digamos Tomcat)?

Tengo una aplicación que ejecuto en el desarrollo de Jetty Durring pero que se implementa en un servidor Tomcat para la producción (¿por qué? Porque parece más fácil desarrollarse sin tener que ejecutar un servidor Tomcat completo).

¿Fue útil?

Solución

Debe compilar solo las API oficiales de Java EE para el nivel que apunta, para cualquier construcción de no desarrollador. Preferiblemente por un motor de construcción. Preferiblemente en un sistema operativo diferente al que se desarrolla.

Para una aplicación web, esto significa la API Servlet apropiada que se descarga de Oracle. Similar para una aplicación empresarial.

En mi experiencia, esta es la mejor manera de mantenerlo recto.


Editar: Java EE SDK está disponible en http://www.oracle.com/technetwork/java/javaee/downloads/index.html. Si necesita una versión anterior que Java EE 6, siga el enlace "Lanzamientos anteriores".

Otros consejos

Puede obtener problemas como MethodNotFoundError. Por lo general, puede resolverlos asegurándose de versiones de frascos instalados en la coincidencia de servidores.

Por lo general, desea desarrollar dónde se despliega. Puede ser levemente Es más difícil de desarrollar con Tomcat vs Jetty, pero ha identificado un posible desastre con un problema con los conflictos de JAR, entonces, ¿no parece valer la pena desarrollar con Tomcat, ya que se despliega en Tomcat?

Además, por lo general, el dolor de desarrollar contra Tomcat/su contenedor de elección se mitiga pasando el tiempo para escribir una tarea de hormiga (u otra) que implementará su código en su contenedor de desarrollo. Los lamentados del ciclo de trabajo

1) Escribir un nuevo código
2) Asegúrese de que pasen las pruebas
3) Ejecute su script 'redploy'
4) Presiona en la instancia de ejecución

Probablemente quieras hacer eso.

Finalmente, en el espíritu de acoplamiento suelto, probablemente no desee depender de una bibliotecas específicas de contenedores si puede evitarlo; Solo haga eso como un último recurso absoluto.

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