Frage

Ich versuche, GWT mit SEAM zu integrieren. Ich folgte dem Docs und versuchte, die

laufen

Beispiel folgt wie.

  1. Ich habe ein GWT-Projekt mit Eclipse Galileo und erstellt die Klassen gegeben, wie im Beispiel

  2. ich dann die Naht 2.0.2 Gläser auf den Build-Pfad hinzugefügt

  3. ich die Anwendung kompiliert wird, mit Google GWT Compiler die Eclipse UI verwendet wird.

  4. Schließlich lief ich die Anwendung.

Zuerst möchte ich wissen, ob die obigen Schritte richtig sind. Ich habe nicht bekommen das gewünschte Ergebnis nach der Anwendung ausgeführt wird.

Auch dies ist der einzige Weg, GWT mit Naht zu integrieren?

Update

Ich habe dieses Beispiel bekam Ameise läuft mit. Aber das Ziel meiner Übung wird es laufen über Eclipse ui.

Ich habe mein eigenes Projekt mit Namen GWTTest und versuche, das Beispiel in der Eclipse

neu

UI. Es gibt ein paar Dinge, die ich bemerkt habe. GWT Compile über Eclipse-UI erstellt ein Verzeichnis mit Namen gwttest in der WAR-Datei. Wo, wie die Verzeichnisstruktur von ant erstellt ist anders.

Im Beispiel gibt es ein Stück Code in AskQuestionWidget getService Funktionen wie folgt

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

Wie kann ich diesen Code ändern, um meine Verzeichnisstruktur zu passen?

War es hilfreich?

Lösung

Wir verwenden Naht + + Richfaces gwt und es funktioniert sehr gut. Obwohl wir alles mit Maven bauen, nehme ich Sie Ameise als auch nutzen können. Die allgemeine Idee ist es, die gesamte Web-Anwendung in GWT Development Mode zu starten. Sie müssen nicht alles kompilieren (was eine lange Zeit bei GWT-Compiler nimmt). Entwicklungsmodus wird angeforderten Ressourcen bei Bedarf kompilieren. Durch den Betrieb auf diese Weise GWT-Anwendung können Sie auch debuggen Client-Seite Code.

Es ist auch möglich, GWT Methoden in Reaktion auf Naht Aktionen aufzurufen.

Update:

Ich kann auf unserer Lösung erarbeiten ein bisschen:

Maven

Ihr Projekt sollte mit packaging: war konfiguriert werden. Es gibt einige offizielle Anweisungen auf Naht mit Maven-Einstellung (auch 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

Für GWT folgende Abschnitte zu Ihrem pom.xml hinzufügen:

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

Diese Konfiguration sollte Krieg mit beiden produzieren - Naht und gwt zusammengestellt. Wenn Sie ein solches Projekt im Entwicklungsmodus setzen auch diese in pom.xml verwenden möchten:

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

und fügen -server com.xemantic.tadedon.gwt.dev.JettyLauncher Ihrem Google-Web-Anwendungs-Launcher. Dies ist freundlich Anlegestelle Launcher maven, die in einigen Situationen erforderlich sein könnten.

Ich hoffe, es wird Ihnen helfen. Interessieren Sie sich für die Kommunikation zwischen gwt und richfacaes Anwendung?

Andere Tipps

Wenn Sie wollen, werfen Sie einen Blick auf / examples / remoting / gwt . Von dort laufen (Achten Sie darauf, installiert ANT haben, bevor es verwendet wird)

ant

Hier geht seine readme.txt-Datei

Sie können das Beispiel sehen unter: http: // localhost: 8080 / Naht-helloworld / org.jboss.seam.example.remoting.gwt.HelloWorld / HelloWorld.html

GWT: Wenn Sie die GWT Frontend neu erstellen möchten, müssen Sie GWT, und zu konfigurieren build.properties zu Punkt, um es zum Download . Sie können dann aus diesem Verzeichnis „ant GWT-Kompilierung“ laufen. Es ist standardmäßig Vorgefertigte. Wenn Sie die GWT-Modus verwenden möchten, gehostet , na ja, lesen Sie alles über sie von den GWT docs!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top