Света GWT интеграция
-
01-10-2019 - |
Вопрос
Я пытаюсь интегрировать GWT с шов. Я следовал тому Документы и попытался запустить
Пример следующим образом.
Я создал проект GWT, используя Eclipse Galileo и создал классы, как указано в примере
Затем я добавил шва 2.0.2 банки на путь сборки
Я скомпилировал приложение, используя компилятор Google GWT с помощью UI Eclipse.
Наконец я провел приложение.
Сначала я хотел бы знать, являются ли вышеуказанные шаги правильными. После запуска приложения я не получаю желаемый результат.
Также это единственный способ интегрировать 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!