2012-03-29 2 views
0

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

Если я создаю новое веб-приложение с помощью подключаемого модуля и копирую содержимое каталога войны в папку 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.

Есть ли что-то, что я здесь полностью отсутствует?

EDIT:

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

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

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

<collapse-all-properties /> 

ответ

0

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

<collapse-all-properties />

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

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

0

ли вы скомпилировать проект с помощью:

проекта право Clic> Google> GWT компилировать

, а затем

проект право Clic> Экспорт> WAR файл

это путь я продолжу, это работает!

проверить это: Deploying GWT app from GAE to Tomcat

+0

Да, я скомпилирую, я нашел проблему, я думаю, я отправлю ответ позже, поскольку я не могу сейчас, но я не мог сразу экспортировать как войну, и вариант не в моем Выбор «Экспорт». – David

+0

У вас есть «модный веб-модуль», проверенный на гранях проекта? – Overnuts