Развертывание приложения gwt в Tomcat не загружает скомпилированный JavaScript - PullRequest
0 голосов
/ 29 марта 2012

Я использую Eclipse GWT Plug-in для создания приложения GWT. Позже мне придется развернуть это как веб-приложение Tomcat. Я прочитал много страниц о том, как это сделать, и это выглядит очень просто, но здесь это не работает.

Если я создаю новое веб-приложение с помощью плагина и копирую содержимое каталога war в папку de tomcat_install / webapps, оно сразу работает, я получаю приложение и все вещи загружаются правильно.

Если я сделаю то же самое с приложением, над которым я работаю уже пару недель, я ничего не получу, просто загружается простой HTML-файл, который я использую в качестве страницы приветствия. Если я осматриваю страницу, то вижу, что она правильно загрузила файл .nocache.js, но на моей странице вообще нет элементов управления.

Все работает в разработке, мой сервлет правильно сопоставлен.

Вот мой app.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='VirtualLabPortal'>

    <inherits name="com.google.gwt.user.User" />
    <inherits name='com.google.gwt.user.theme.standard.Standard'/>
    <inherits name="com.google.gwt.i18n.I18N"/>

    <set-property name="gwt.logging.enabled" value="FALSE"/>

    <define-property name="webkitVariant" values="safari, chrome" />

    <collapse-all-properties />
    <extend-property name="locale" values="en"/>
    <extend-property name="locale" values="fr" />
    <set-property-fallback name="locale" value="fr"/>

    <entry-point
        class="com.banctecmtl.ca.vlp.view.webview.client.VirtualLabPortal" />

    <source path='view/webview/client' />
    <source path='shared' />
    <source path='model' />

</module>

Моя сеть, xml, где отображаются два моих сервлета, выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
    <servlet>
        <servlet-name>VlpControllerService</servlet-name>
        <servlet-class>com.banctecmtl.ca.vlp.view.webview.server.VlpControllerServiceImpl</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>UserAccessService</servlet-name>
        <servlet-class>com.banctecmtl.ca.vlp.view.webview.server.UserAccessServiceImpl</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>VlpControllerService</servlet-name>
        <url-pattern>/VirtualLabPortal/VlpController</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>UserAccessService</servlet-name>
        <url-pattern>/VirtualLabPortal/UserAccess</url-pattern>
    </servlet-mapping>

    <!-- Default page to serve -->
    <welcome-file-list>
        <welcome-file>VirtualLabPortal.html</welcome-file>
    </welcome-file-list>
</web-app>

Обратите внимание, что в моих сервисных интерфейсах я использую @RemoteServiceRelativePath("VlpController") и @RemoteServiceRelativePath("UserAccess") для обеспечения правильного отображения.

Это содержимое моей точки входа, которую я упростил, чтобы посмотреть, смогу ли я заставить ее работать при развертывании:

public class VirtualLabPortal implements EntryPoint {
    /**
     * Entry point method.
     */
    public void onModuleLoad() {
        RootPanel.get().add(new Label("This"));
    }
}

Поскольку тело моей html-страницы пустое, появляется белая страница, javascript должен написать тестовую метку на этой странице, но ничего не происходит. Как я уже сказал, мой VirtualLabPortal.nocache.js загружается на html-странице.

Есть ли что-то, чего мне здесь совершенно не хватает?

РЕДАКТИРОВАТЬ:

Я думаю, что только что получил его, я удалил два свойства, добавленные моим партнером в файл gwt.xml, чтобы уменьшить количество перестановок, и, похоже, оно уже исправлено:

<set-property name="gwt.logging.enabled" value="FALSE"/>

<define-property name="webkitVariant" values="safari, chrome" />

<collapse-all-properties />

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

После долгих часов поиска и тестирования я понял, как работает процесс начальной загрузки GWT. Я просмотрел свой файл module.gwt.xml и обнаружил следующую строку, добавленную одним из моих партнеров, чтобы уменьшить количество перестановок:

<collapse-all-properties />

Удаление этой строки вернуло нас к 18 перестановкам, и развертывание папки WAR в моем каталоге tomcat webapps сделало свою работу. Компиляция только один раз не генерировала используемый файл, требуемый моей локалью. Возможно, если бы язык моего браузера был бы на английском, он бы сработал с первого раза.

Хорошо, теперь это работает, поскольку все необходимые файлы правильно скомпилированы.

0 голосов
/ 29 марта 2012

Вы компилируете свой проект через:

проект правой кнопкой мыши> google> gwt compile

, а затем

Проект правой кнопкой мыши> Экспорт> WAR-файл

это мой путь, он работает!

отметьте это: Развертывание приложения GWT из GAE в Tomcat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...