Вопрос

Я пытаюсь интегрировать GWT с шов. Я следовал тому Документы и попытался запустить

Пример следующим образом.

  1. Я создал проект GWT, используя Eclipse Galileo и создал классы, как указано в примере

  2. Затем я добавил шва 2.0.2 банки на путь сборки

  3. Я скомпилировал приложение, используя компилятор Google GWT с помощью UI Eclipse.

  4. Наконец я провел приложение.

Сначала я хотел бы знать, являются ли вышеуказанные шаги правильными. После запуска приложения я не получаю желаемый результат.

Также это единственный способ интегрировать GWT с шов?

Обновлять

У меня есть этот пример, бегущий с помощью муравья. Но цель моего упражнения будет запустить его через Eclipse UI.

Я создал свой собственный проект по имени Gwttest и пытался воссоздать пример в затмении

Ui. Есть несколько вещей, которые я заметил. Компиляция GWT через Eclipse UI создает каталог по имени Gwttest внутри файла войны. Где, как структура каталога, создаваемая муравей, отличается.

В примере есть кусок кода в AskQuestionWidget Getservice функционирует следующим образом

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

Как мне изменить этот код, чтобы удовлетворить мою структуру каталогов?

Это было полезно?

Решение

Мы используем шов + Richfaces + GWT, и он работает очень хорошо. Хотя мы строим все с Maven, я полагаю, вы также можете использовать муравьев. Общая идея состоит в том, чтобы начать все веб-приложение в режиме разработки GWT. Вам не нужно компилировать все (что занимает много времени в случае компилятора GWT). Режим разработки будет компилировать запрошенные ресурсы по требованию. Запустив приложение GWT таким образом, вы также можете отладки кода клиента.

Также можно вызвать методы GWT в ответ на действия шва.

Обновлять:

Я могу уточнить наше решение немного:

Мавана

Ваш проект должен быть настроен с packaging: war. Отказ Есть некоторые официальные инструкции по установке шов с Maven (также Richfaces):

http://docs.jboss.org/seam/2.2.1.cr2/reference/en-us/html/dependonds.html#d0e34791.

http://docs.jboss.org/richfaces/latest_3_3_x/en/devguide/html/settingsfordifferentenvironments.html.

Для GWT добавьте следующие разделы к вашему 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>

Эта конфигурация должна производить войну с обоими и GWT скомпилированными. Если вы хотите использовать такой проект в режиме разработки, поставил также это в pom.xml:

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

И добавить -server com.xemantic.tadedon.gwt.dev.JettyLauncher к вашему веб-приложению Google запуска. Это Maven дружелюбный причал, который может потребоваться в некоторых ситуациях.

Я надеюсь, что это поможет вам. Вы заинтересованы в связи между приложением GWT и Richfacaes?

Другие советы

Если вы хотите, посмотрите на u003CSEAM_HOME>/ Примеры / удаление / GWT. Отказ Оттуда запустите (убедитесь, что вы установили атаку перед его использованием)

ant

Здесь идет файл readme.txt

Вы можете просмотреть пример по адресу: http: // localhost: 8080 / SWOR-Helloworld / org.jboss.seam.example.remoting.gwt.helloworld / helloworld.html

GWT: Если вы хотите восстановить передний конец GWT, вам нужно будет скачать GWT и настроить Build.Properties, чтобы указать на него. Отказ Затем вы можете запустить «Ant GWT-Compile» из этого каталога. Он предварительно построен по умолчанию. Если вы хотите использовать хостованный режим GWT, Хорошо, прочитайте все об этом из GWT Docs!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top