Cómo crear archivos war

¿Cuáles son las mejores prácticas para crear archivos war (usando eclipse) para ejecutar en tomcat? tutoriales, enlaces, ejemplos son muy apreciados.

Puede usar Ant para configurar, comstackr, WAR e implementar su solución.

 

A continuación, puede ejecutar un clic en Eclipse para ejecutar ese objective Ant. Aquí hay ejemplos de cada uno de los pasos:

Condiciones previas

Asumiremos que tiene su código organizado de la siguiente manera:

  • ${basedir}/src : archivos Java, propiedades, archivos de configuración XML
  • ${basedir}/web : sus archivos JSP
  • ${basedir}/web/lib : cualquier JAR requerido en tiempo de ejecución
  • ${basedir}/web/META-INF : su manifiesto
  • ${basedir}/web/WEB-INF : sus archivos web.xml

Preparar

Defina una tarea de setup que crea el directorio de distribución y copia los artefactos que necesitan ser WARred directamente:

   Copying web into dist    

Comstackr

Cree sus archivos Java en clases y copie los artefactos que no sean Java que residan bajo src pero que deban estar disponibles en tiempo de ejecución (por ejemplo, propiedades, archivos XML, etc.):

                  

Build WAR

Crea la GUERRA en sí:

         

Desplegar

Finalmente, puede configurar una tarea para implementar WAR directamente en su ubicación de implementación de Tomcat:

    

Haga clic y listo!

Una vez que todo esto esté configurado, simplemente al lanzar el objective default desde Eclipse se comstackrá WAR y desplegará su solución.

La ventaja de este enfoque es que funcionará fuera de Eclipse y dentro de Eclipse y se puede usar para compartir fácilmente su estrategia de implementación (por ejemplo, a través del control de fuente) con otros desarrolladores que también están trabajando en su proyecto.

Siempre acabo de seleccionar Exportar desde Eclipse. Construye el archivo war e incluye todos los archivos necesarios. Siempre que haya creado el proyecto como un proyecto web, eso es todo lo que tendrá que hacer. Eclipse lo hace muy simple de hacer.

Usamos Maven (el hermano mayor de Ant) para todos nuestros proyectos Java, y tiene un plugin WAR muy ingenioso. Los tutoriales y el uso se pueden encontrar allí.

Es mucho más fácil que Ant, totalmente compatible con Eclipse (usa maven eclipse: eclipse para crear proyectos de Eclipse) y fácil de configurar.

Página de Maven

Plugin Maven WAR

Configuración de muestra:

  org.apache.maven.plugins maven-war-plugin 2.1-alpha-2  ${project.build.directory}/tmp/ ${project.build.directory}/tmp/war/work ${project.build.webappDirectory} ${project.build.directory}/tmp/war/work/webapp-cache.xml  pdf png gif jsp    src/main/webapp/ WEB-INF true  **/*.xml    Application   

Un archivo war es simplemente un archivo jar con una extensión war, pero lo que lo hace funcionar es cómo se estructura realmente el contenido.

El tutorial J2EE / Java EE puede ser un comienzo:

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html

Y la especificación de Servlet contiene los detalles sangrientos:

http://java.sun.com/products/servlet/download.html

Si crea un nuevo proyecto web en Eclipse (me refiero a la versión de Java EE), la estructura se crea para usted y también puede indicarle dónde está instalado su Appserver y desplegará e iniciará la aplicación por usted.

El uso de la opción “Exportar -> Archivo WAR” le permitirá guardar el archivo war.

Si no está seguro de qué hacer y está empezando desde cero, Maven puede ayudarlo a comenzar.

Siguiendo los pasos a continuación, puede obtener una nueva configuración de proyecto de guerra perfectamente en eclipse.

  1. Descargar e instalar Maven
  2. Ir a la línea de comando ejecutar: mvn archetype:generate
  3. Siga los pasos sugeridos: elija el proyecto web Java simple (18) y un nombre adecuado.
  4. Cuando esté terminado, ejecuta: mvn eclipse:eclipse
  5. Comience Eclipse. Elija Archivo -> Importar -> Proyecto existente. Seleccione el directorio donde ejecutó los objectives de mvn.
  6. Eso es todo, ahora deberías tener un muy buen comienzo para un proyecto de guerra en eclipse
  7. Puede crear la guerra en sí ejecutando el mvn package o desplegándolo configurando un servidor en eclipse y simplemente agregando agregar el proyecto al servidor.

Como algunos otros han dicho, la desventaja de usar maven es que debes usar las convenciones maven. Pero creo que si recién estás empezando, aprender las convenciones es una buena idea antes de comenzar a hacer las tuyas propias. No hay nada que le impida cambiar / refactorizar a su propio método preferido en un momento posterior.

Espero que esto ayude.

Usa la tarea Ant war

Usar el código de comstackción ant. Yo uso esto para mi proyecto SMS

       -------------------------------------------------- compile - Compile archive - Generate WAR file --------------------------------------------------                           

Otra opción sería construirlo automáticamente usando Eclipse. Por supuesto, si tiene un entorno de integración continua, se recomienda Ant o Maven. La alternativa de exportación no es muy conveniente porque debe configurar cada vez las propiedades de exportación.

PASOS:

  1. Habilitar el soporte de “Archivos de proyecto”; esto podría depender de su proyecto (lo utilicé en el proyecto Java EE / Web). Haga clic derecho en el directorio raíz del proyecto; Configurar -> Añadir soporte de archivos de proyecto.

  2. Vaya y cree un nuevo archivo en el directorio superior “Archivos de proyecto”. Solo tiene la opción jar, pero el nombre que archiva * .war.

  3. Configure Fileset-s, es decir, qué archivos se incluirán. Lo más habitual es configurar dos conjuntos de archivos de forma similar a cómo se configura el conjunto de implementación web (propiedad del proyecto).

    • copiar / WebContent a /
    • copiar / comstackr / clases a WEB-INF / classes (crear este conjunto de archivos después de definir el directorio WEB-INF / classes en el archivo)
  4. Es posible que debas modificar la propiedad de exclusión del conjunto de archivos dependiendo de dónde hayas colocado algunos de los archivos de configuración o de que necesites más conjuntos de archivos, pero la idea es que una vez que hayas configurado esto, no necesites cambiarlo.

  5. Construya el archivo manualmente o publíquelo directamente en el servidor; pero Eclipse también lo crea automáticamente

Otra opción común es gradle.

http://www.gradle.org/docs/current/userguide/application_plugin.html

Para construir su archivo war en una aplicación web:

En build.gradle, agregue:

 apply plugin: 'war' 

Entonces:

 ./gradlew war 

Usa el diseño de la respuesta aceptada arriba.

Solución más simple que también actualiza el espacio de trabajo de Eclipse:

             

Código simplificado de Shell para crear archivos WAR desde un proyecto web dynamic estándar de Eclipse. Utiliza el sistema de archivos RAM (/ dev / shm) en una plataforma Linux.

 #!/bin/sh UTILITY=$(basename $0) if [ -z "$1" ] ; then echo "usage: $UTILITY [-s] ..." echo " -s ..... With source" exit 1 fi if [ "$1" == "-s" ] ; then WITH_SOURCE=1 shift fi while [ ! -z "$1" ] ; do WEB_APP_DIR=$1 shift if [ ! -d $WEB_APP_DIR ] ; then echo "\"$WEB_APP_DIR\" is not a directory" continue fi if [ ! -d $WEB_APP_DIR/WebContent ] ; then echo "\"$WEB_APP_DIR\" is not a Web Application directory" continue fi TMP_DIR=/dev/shm/${WEB_APP_DIR}.$$.tmp WAR_FILE=/dev/shm/${WEB_APP_DIR}.war mkdir $TMP_DIR pushd $WEB_APP_DIR > /dev/null cp -r WebContent/* $TMP_DIR cp -r build/* $TMP_DIR/WEB-INF [ ! -z "$WITH_SOURCE" ] && cp -r src/* $TMP_DIR/WEB-INF/classes cd $TMP_DIR > /dev/null [ -e $WAR_FILE ] && rm -f $WAR_FILE jar cf $WAR_FILE . ls -lsF $WAR_FILE popd > /dev/null rm -rf $TMP_DIR done 

Use este comando fuera de la carpeta WEB-INF. Esto debería crear tu archivo war. Este es el método más rápido que conozco.

Necesitará JDK 1.7+ instalado para lograr esta hazaña y las variables de entorno que apuntan al directorio bin de su JDK.

 jar -cvf projectname.war * 

Link de referencia

** Creación de archivo War en Eclips Proyecto web Gaynemed of grails **

1. Proyecto de importación:

2. Cambiar el archivo datasource.groovy

Me gusta esto: url = “jdbc: postgresql: //18.247.120.101: 8432 / PGMS”

2.chnge AppConfig.xml

3.hasta Java desde el Administrador de tareas:

  1. ejecutar comando limpio en eclips

  2. ejecutar ‘prod war’ bajo el nombre del proyecto.

  3. Compruebe el archivo de registro y busque el mismo archivo .war en el directorio del banco de trabajo con la misma fecha.