2011-03-23 19 views

Respuesta

29

Siempre utilizo el archivo de compilación Ant, por lo que el proyecto se compila y se empaqueta como una guerra con un solo clic.

Añadir un-archivo XML para su proyecto con el siguiente contenido:

<project name="test" basedir="." default="default"> 
<property name="src.dir" value="src" /> 
<property name="build.dir" value="war" /> 
<path id="compile.classpath"> 
    <fileset dir="${build.dir}/WEB-INF/lib"> 
     <include name="**/*.jar" /> 
     <include name="**/*.xml" /> 
    </fileset> 
</path> 

<target name="default" depends="gwtc, buildwar,deploy"> 
</target> 

<target name="gwtc" description="GWT compile to JavaScript"> 
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> 
     <classpath> 
      <pathelement location="${src.dir}" /> 
      <path refid="compile.classpath" /> 
     </classpath> 
     <arg line="-logLevel INFO" /> 
     <jvmarg value="-Xmx1024M" /> 
     <arg value="YourProject.EntryPointClass" /> 
    </java> 
</target> 

<target name="buildwar"> 
    <war basedir="war" destfile="YourProject.war" webxml="war/WEB-INF/web.xml"> 
     <exclude name="WEB-INF/**" /> 
     <webinf dir="war/WEB-INF/"> 
      <include name="**/gwt-servlet.jar" /> 
      <include name="**/classes/**" /> 
     </webinf> 
    </war> 
</target> 

<target name="deploy"> 
    <copy file="YourProject.war" todir="." /> 
</target> 

</project> 

(Editar `YourProject.EntryPointClass a la ruta de la clase EntryPoint)

que tendría que añadir gwt-user.jar y gwt-dev.jar a la ruta de compilación de sus proyectos (haga clic con el botón derecho en su proyecto -> Ruta de compilación -> Agregar logros externos).

Si mira ahora su vista de "Problemas", recibe una advertencia de que los dos archivos no están disponibles en la ruta de clase del servidor. Puede usar el QuickFix para copiarlo al WEB-INF/lib u ocultar la advertencia. El archivo de compilación no incluirá esos dos archivos en el archivo war.

Todo lo que necesita hacer para compilar y crear el archivo es hacer clic derecho en el archivo xml y seleccionar ejecutar como Ant Build.

+0

El archivo xml no ha finalizado correctamente, por favor arréglalo para que esté completo. – Raffo

+0

@Raffo Se solucionó. Gracias por haberlo señalado. –

+0

¿Debería la fraseología de la dirección en esta respuesta, "la ruta de acceso a su clase EntryPoint", en su lugar ser "la ruta a su archivo de módulo ( .gwt.xml)"? En mi caso (del tutorial oficial de GWT: http://www.gwtproject.org/doc/latest/tutorial/create.html), que terminó siendo "com.google.gwt.sample.stockwatcher.StockWatcher" , donde com fue el primer directorio bajo src, y StockWatcher es el nombre del archivo de módulo .gwt.xml al final de esa ruta (utilizando una compilación exitosa y .war). En lugar de eso, antes de entrar en la ruta del archivo .class de Java de EntryPoint-class no funcionó. – cellepo

2

También se puede usar webAppCreator para generar archivos de compilación Ant.

webAppCreator se envía con GWT SDK y también con Eclipse GWT Plugin. Primero ubique el directorio del complemento GWT

find $HOME/.eclipse/ -name "*gwt*sdk*" 

esto generará la ruta del directorio del plugin GWT. Este dir tiene gwt dir algo así como gwt-2.4.0. WebAppCreator estará en este directorio. Establezca este dir como GWTSDK_HOME.

export GWTSDK_HOME=/home/m/.eclipse/org.eclipse.platform_3.7.0_1364963873/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201201120043-rel-r37/gwt-2.4.0 

maquillaje webAppCreator ejecutable

chmod 755 $GWTSDK_HOME/webAppCreator 

A continuación, cree un proyecto utilizando webAppCreator de algún directorio temporal.

$GWTSDK_HOME/webAppCreator -out fins in.m.fins.Fins 

in.m.fins.Fins es el nombre del módulo. Esto tiene que coincidir con el gwt.xml de su proyecto en el espacio de trabajo de Eclipse. Si su gwt.xml es src/en/m/aletas/Fins.gwt.xml continuación, nombre del módulo debe ser in.m.fins.Fins

aletas salida privado crearán el proyecto y la construcción .xml en el directorio de aletas. Copie el archivo build.xml generado en su proyecto en el área de trabajo de Eclipse.

objetivo de la guerra Ejecutar en Eclipse Ventana hormiga para empaquetar su proyecto como la guerra

1

usted tiene que tener el diseñador GWT instalado desde aquí

http://dl.google.com/eclipse/inst/d2gwt/latest/3.7

  1. En Eclipse en el panel principal, haga clic en "Módulo de Despliegue en el servidor de aplicaciones "(Está al lado del botón azul de google).
  2. escoger un nombre archivo de la guerra y la ubicación de dónde guardarlo
  3. clic en Aceptar

Eso es todo. Funciona en mi GWT 2.4.0, complemento de Google para Eclipse 4.2, Eclipse Juno

12

Usando Eclipse:

  1. Haga clic derecho en el proyecto
  2. elegir Google GWT → Compilar
  3. cuando la compilación ha terminado, la consola dirá es decir

    Linking into /home/janus/bpworkspace/gwtwerkstatt2/war/gwtwerkstatt2

    Link succeeded

    Compilation succeeded -- 28.623s

  4. abrir un terminal y vaya al directorio

  5. crear la GUERRA: jar cv * > /tmp/myGWTproject.war
  6. ahora se puede lanzar con embarcadero-corredor o similar: java -jar jetty-runner-8.1.7.v20120910.jar /tmp/myGWTproject.war
+0

Esto funcionó para mí: 'jar cvf myGWTProject.war .' – Bizmarck

+2

Nota para cualquiera que tropiece con esta respuesta como acabo de hacer: tienes que hacer" jar cvf YourWar.war ". desde el directorio war, no desde el directorio vinculado durante el paso 3. –

+0

Si el proyecto tiene dependencias de proyectos, también puede tener que compilarlos y colocar los archivos .jar en la carpeta war/WEB-INF/lib antes de crear el archivo .war Tienes que repetir esto cada vez que se actualicen. – thomas88wp

0

Puño compilar su proyecto. Luego: 1. Abra su proyecto. 2. Navegue a la carpeta war. 3. Vaya a Archivo> Exportar> Archivar archivo 4. Exporte su archivo FOLDER de guerra como archivo zip. 5. Cambie su archivo de extensión .zip a .war 6. Mantenga la calma y disfrute de su archivo war.

-1

Recopila tu proyecto. Luego:

  1. Abra su proyecto.
  2. Navegue a la carpeta war.
  3. Vaya a Archivo> Exportar> Archivo Archivo
  4. Exporte su FOLDER de guerra como archivo zip.
  5. Cambie el formulario de extensión de archivo .zip a .war
  6. Mantenga la calma y disfrute de su archivo war.
+0

No creo que esto sea lo que el Op. Pidió aunque la pregunta lo sugiera. –

Cuestiones relacionadas