Question

Je suis en train d'intégrer GWT avec SEAM. J'ai suivi les Docs et essayé pour exécuter le

exemple suivant que.

  1. J'ai créé un projet GWT, en utilisant Eclipse Galileo et créé les classes comme indiqué dans l'exemple

  2. J'ai ensuite ajouté les pots Seam 2.0.2 sur le chemin de construction

  3. Je compilé l'application, en utilisant Google GWT compilateur à l'aide de l'interface utilisateur d'Eclipse.

  4. Enfin j'ai couru l'application.

D'abord, je voudrais savoir si les étapes ci-dessus sont corrects. Après l'exécution de l'application que je ne reçois pas le résultat souhaité.

Aussi est-ce la seule façon d'intégrer GWT avec Seam?

Mise à jour

J'ai eu cet exemple en cours d'exécution à l'aide de fourmis. Mais le but de mon exercice sera de fonctionner via Eclipse ui.

Je créé mon propre projet par nom GWTTest et a essayé de recréer l'exemple dans l'Eclipse

UI

. Il y a quelques petites choses que j'ai remarqué. GWT Compile via l'interface utilisateur Eclipse crée un répertoire par nom gwttest dans le fichier de guerre. Où que la structure du répertoire créé par la fourmi est différent.

Dans l'exemple il y a un morceau de code dans les fonctions AskQuestionWidget GetService comme suit

String endpointURL = GWT.getModuleBaseURL() + "seam/resource/gwt";

Comment puis-je modifier ce code en fonction de ma structure de répertoire?

Était-ce utile?

La solution

Nous utilisons la couture + richfaces + GWT et cela fonctionne très bien. Bien que nous construisons tout avec Maven, je suppose que vous pouvez utiliser fourmi aussi bien. L'idée générale est de commencer toute application web en mode développement GWT. Vous n'avez pas de tout compiler (qui prend beaucoup de temps en cas de compilateur GWT). Mode de développement compilerons les ressources demandées à la demande. Par l'application GWT en cours d'exécution de cette façon, vous pouvez également déboguer le code côté client.

Il est également possible d'appeler des méthodes GWT en réponse aux actions de couture.

Mise à jour:

Je peux élaborer sur notre solution un peu:

Maven

Votre projet doit être configuré avec packaging: war. Il y a quelques instructions officielles sur le réglage de couture avec Maven (également richfaces):

http: / /docs.jboss.org/seam/2.2.1.CR2/reference/en-US/html/dependencies.html#d0e34791

http://docs.jboss.org/richfaces /latest_3_3_X/en/devguide/html/SettingsForDifferentEnvironments.html

Pour GWT ajouter des sections suivantes à votre pom.xml:

<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-user</artifactId>
  <version>2.1.0</version>
  <scope>provided</scope> <!-- prevents from including this in war -->
</dependency>
<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-dev</artifactId>
  <version>2.1.0</version>
  <scope>provided</scope> <!-- prevents from including this in war -->
</dependency>
<dependency>
  <groupId>pl.ncdc.gwt</groupId>
  <artifactId>gwt-servlet-war</artifactId>
  <version>2.1.0</version>
  <type>war</type> <!-- adds gwt-servlet.jar to your war, but not to your classpath -->
</dependency>

<!-- build section -->
<build>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
    </resource>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/client/**/*.java</include>
        <include>**/client/**/*.properties</include>
        <include>**/shared/**/*.java</include>
        <include>**/shared/**/*.properties</include>
        <include>**/*.gwt.xml</include>
      </includes>
    </resource>
  </resources>
  <testResources>
    <testResource>
      <directory>src/test/java</directory>
      <includes>
        <include>**/client/**/*.java</include>
        <include>**/client/**/*.properties</include>
        <include>**/shared/**/*.java</include>
        <include>**/shared/**/*.properties</include>
        <include>**/*.gwt.xml</include>
      </includes>
    </testResource>
  </testResources>
<plugins>
  <plugin> <!-- dirty hack for GWT issue #3439 - it is not really fixed -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <id>remove-javax</id>
        <phase>compile</phase>
        <configuration>
          <tasks>
            <delete dir="${project.build.directory}/classes/javax" />
          </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>1.3.2.google</version>
    <configuration>
      <extraJvmArgs>-Xmx512M</extraJvmArgs>
      <gwtVersion>${gwt.version}</gwtVersion>
      <modules>
        <module>com.company.gwt.project.module.Module</module>
      </modules>
      <soyc>false</soyc>
      <draftCompile>${gwt.draft.compile}</draftCompile> <!-- you can control this with profiles -->
      <localWorkers>2</localWorkers><!-- in theory should speed things up on our quad CPU hudson -->
      <style>${gwt.style}</style> <!-- you can control this with profiles -->
    </configuration>
    <executions>
      <execution>
        <id>compile</id>
        <phase>prepare-package</phase>
        <goals>
          <goal>compile</goal>
        </goals>
      </execution>
      <execution>
        <id>gwt-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <includes>**/*GwtTestSuite.java</includes>
        </configuration>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
      <archiveClasses>true</archiveClasses>
      <warSourceDirectory>src/main/webapp-empty</warSourceDirectory> <!-- just empty dir for workaround -->
      <webResources>
        <resource>
          <directory>src/main/webapp</directory>
          <excludes>
            <exclude>app.*</exclude> <!-- name of you gwt module(s) - rename-to in gwt.xml -->
            <exclude>WEB-INF/web.xml</exclude>
          </excludes>
        </resource>
        <resource>
          <directory>src/main/webapp</directory>
          <includes>
            <include>WEB-INF/web.xml</include>
          </includes>
          <filtering>true</filtering>
        </resource>
      </webResources>
    </configuration>
  </plugin>
</plugins>
</build>

Cette configuration devrait produire à la fois la guerre - couture et GWT compilé. Si vous souhaitez utiliser ce projet en mode de développement mis également dans ce pom.xml:

<dependency>
  <groupId>com.xemantic.tadedon</groupId>
  <artifactId>tadedon-gwt-dev</artifactId>
  <version>1.0-SNAPSHOT</version>
  <scope>provided</scope>
</dependency>

Et ajouter -server com.xemantic.tadedon.gwt.dev.JettyLauncher à votre lanceur d'applications Web de Google. Ce Maven est lance jetée amical qui pourrait être nécessaire dans certaines situations.

J'espère que cela vous aidera. Vous êtes intéressé par la communication entre GWT et richfacaes demande?

Autres conseils

Si vous voulez, jetez un oeil à / examples / Remoting / GWT . À partir de là, exécutez (Assurez-vous d'avoir installé ANT avant de l'utiliser)

ant

Ici va son fichier readme.txt

  

Vous pouvez voir l'exemple à:    http: // localhost: 8080 / coutures helloworld / org.jboss.seam.example.remoting.gwt.HelloWorld / HelloWorld.html

     

GWT: Si vous voulez reconstruire l'extrémité avant GWT, vous devez télécharger GWT et build.properties configure pour pointer vers elle . Vous pouvez ensuite exécuter « fourmi GWT décompiler » de ce répertoire. Il est pré-construit par défaut. Si vous voulez utiliser le mode hébergé GWT , eh bien, lire tous les documents des GWT!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top