Domanda

Sto cercando di integrare GWT con SEAM. ho seguito la Documenti e provato per eseguire il

esempio come segue.

  1. Ho creato un progetto GWT, con Eclipse Galileo e creato le classi come indicato nell'esempio

  2. Ho poi aggiunto i vasetti Seam 2.0.2 al percorso di generazione

  3. ho compilato la domanda, utilizzando Google GWT Compiler utilizzando l'interfaccia utente eclisse.

  4. Infine ho eseguito l'applicazione.

Per prima cosa vorrei sapere se i passaggi sopra sono corrette. Dopo aver eseguito l'applicazione non ottengo il risultato desiderato.

Anche questo è l'unico modo per integrare GWT con Seam?

Aggiorna

Io ho questo esempio in esecuzione usando ant. Ma lo scopo del mio esercizio sarà di eseguirlo tramite eclissi ui.

Ho creato il mio progetto per nome GWTTest e ho cercato di ricreare l'esempio nella Eclipse

UI. Ci sono alcune cose che ho notato. GWT compilazione via Eclipse interfaccia utente crea una directory in base al nome gwttest all'interno del file di guerra. Dove, come la struttura della directory creato da formica è diverso.

Nell'esempio v'è un pezzo di codice in funzioni AskQuestionWidget GetService come segue

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

Come faccio a modificare il codice per soddisfare la mia struttura di directory?

È stato utile?

Soluzione

Usiamo cucitura + RichFaces + GWT e funziona molto bene. Anche se abbiamo costruito tutto con Maven, suppongo si può usare formica pure. L'idea generale è quella di iniziare l'intera applicazione Web in modalità di sviluppo GWT. Non c'è bisogno di compilare tutto (il che richiede molto tempo, in caso di GWT compilatore). Modalità di sviluppo verrà compilato richiesto risorse su richiesta. Eseguendo applicazioni GWT in questo modo, è possibile anche eseguire il debug di codice lato client.

È anche possibile chiamare metodi GWT in risposta alle azioni cucitura.

Aggiornamento:

posso elaborare la nostra soluzione un po ':

Maven

Il progetto dovrebbe essere configurato con packaging: war. Ci sono alcune istruzioni su come impostare ufficiali cucitura con Maven (RichFaces anche):

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

Per GWT aggiungere sezioni seguenti al vostro 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>

Questa configurazione dovrebbe produrre guerra con entrambi - cucitura e GWT compilato. Se si desidera utilizzare tale progetto in modalità di sviluppo messo anche questo in pom.xml:

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

e aggiungere alla vostra -server com.xemantic.tadedon.gwt.dev.JettyLauncher avvio delle applicazioni web di Google. Questo è Maven accogliente lanciatore molo che potrebbe essere necessario in alcune situazioni.

spero che vi aiuterà. Sei interessato nella comunicazione tra GWT e richfacaes applicazione?

Altri suggerimenti

Se si vuole, dare un'occhiata a / examples / remoting / gwt . Da lì, run (Assicurarsi ANT assicurarsi di aver installato prima di utilizzarlo)

ant

Qui va il suo file readme.txt

  

È possibile visualizzare l'esempio a:    http: // localhost: 8080 / seam-helloworld / org.jboss.seam.example.remoting.gwt.HelloWorld / HelloWorld.html

     

GWT: Se si vuole ricostruire il front-end GWT, è necessario scaricare GWT, e build.properties di configurazione per punto ad esso . È quindi possibile eseguire "ant gwt-compile" da questa directory. E 'pre-costruito per impostazione predefinita. Se si desidera utilizzare la modalità del GWT ospitato , beh, leggere tutto su di esso dalla documentazione GWT!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top