web-dev-qa-db-fra.com

créer un fichier .war à partir de gwt-project

Comment créer un fichier .war à partir de mon projet gwt dans eclipse?

26
derp

J'utilise toujours le fichier de compilation Ant pour que le projet soit compilé et empaqueté comme une guerre en un clic.

Ajoutez un fichier XML à votre projet avec le contenu suivant:

<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>

(Editez `YourProject.EntryPointClass sur le chemin de votre classe EntryPoint)

Vous devez ajouter gwt-user.jar et gwt-dev.jar au chemin de génération de vos projets (cliquez avec le bouton droit de la souris sur votre projet -> Chemin de construction -> Ajouter des réalisations externes).

Si vous examinez maintenant la vue "Problèmes", vous obtenez un avertissement indiquant que les deux fichiers ne sont pas disponibles sur le chemin de classes du serveur. Vous pouvez utiliser le QuickFix pour le copier dans WEB-INF/lib ou masquer l'avertissement. Le fichier de construction n'inclura pas ces deux fichiers dans le fichier war.

Pour compiler et créer le fichier, il suffit de cliquer avec le bouton droit de la souris sur le fichier XML et de sélectionner Exécuter en tant que Ant Build.

30
Chris Boesing

Utiliser Eclipse:

  1. clic droit sur le projet
  2. choisissez Google → GWT Compile
  3. lorsque la compilation est terminée, la console indiquera i.e.

    Lien dans/home/janus/bpworkspace/gwtwerkstatt2/war/gwtwerkstatt2 

    Lien réussi

    Compilation réussie - 28.623s

  4. ouvrir un terminal et accéder au répertoire

  5. créer le WAR: jar cv * > /tmp/myGWTproject.war
  6. vous pouvez maintenant le lancer avec jetty-runner ou similaire: Java -jar jetty-runner-8.1.7.v20120910.jar /tmp/myGWTproject.war
12
Janus Troelsen

Je viens de trouver cette solution et c'est incroyable:) Installez simplement le pot et profitez de l'extraction dans un fichier war.

Site du projet http://code.google.com/p/gwt-project-export-wizard/

4
MattWeiler

On peut aussi utiliser webAppCreator pour générer un fichier de construction Ant.

webAppCreator est livré avec le SDK GWT et également avec le plugin Eclipse GWT. D'abord localiser le répertoire du plugin GWT 

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

cela produira le chemin du répertoire du plugin GWT. Ce répertoire a le répertoire gwt, quelque chose comme gwt-2.4.0. WebAppCreator sera dans ce répertoire. Définissez ce répertoire comme 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

rendre exécutable webAppCreator

chmod 755 $GWTSDK_HOME/webAppCreator

Créez maintenant un projet en utilisant webAppCreator dans un répertoire temporaire. 

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

in.m.fins.Fins est le nom du module. Cela doit correspondre au gwt.xml de votre projet dans l'espace de travail Eclipse. Si votre fichier gwt.xml est src/dans/m/fins/Fins.gwt.xml , le nom du module doit être in.m.fins.Fins

-out fins créera le projet et build.xml dans le répertoire fins. Copiez le fichier build.xml généré dans votre projet dans l’espace de travail Eclipse.

Exécutez war target dans Eclipse Ant Window pour conditionner votre projet en guerre. 

2
Maithilish

Vous devez avoir le concepteur GWT installé à partir d'ici 

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

  1. Dans Eclipse, dans le panneau principal, cliquez sur "Déployer le module sur un serveur d'applications" (bouton situé à côté du bouton bleu Google). 
  2. Choisissez le nom du fichier de guerre et l'emplacement où le stocker
  3. Cliquez sur OK

C'est tout. Fonctionne sur mon GWT 2.4.0, plugin Google pour Eclipse 4.2, Eclipse Juno

1
Miroslav

Pour référence future: vous trouverez un autre tutoriel sur la création d'un fichier .war à l'aide d'Eclipse sur http://blog.elitecoderz.net/ .

0
tilo

Fist compilez votre projet. Puis: 1. Ouvrez votre projet. 2. Naviguez jusqu'au dossier war. 3. Allez dans Fichier> Exporter> Fichier archive 4. Exportez votre dossier de guerre en fichier Zip. 5. Changez le formulaire d'extension de fichier .Zip en .war 6. Restez calme et profitez de votre dossier de guerre.

0
MDJ777