GWT - Невозможно найти многомодульную архитектуру типа com.myapp.launcher.client.LauncherInitializer - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть проект со следующей структурой:

com.myapp.gwt:
    Basic.gwt.xml
    Launcher.gwt.xml - inherits Basic.gwt.xml
    Module1.gwt.xml - inherits Basic.gwt.xml
com.myapp.gwt.ui.basic.client:
    AppActivityMapper.java
    AppHistoryManager.java
    AppPlaceHistoryMapper.java
    BasicInitializer.java - this is a daddy class for all entry points
    MainClientFactory.java
    MainClientFactoryImpl.java
com.myapp.gwt.ui.launcher.client: - all the stuff for the launcher module is here
    LauncherInitializer.java (extends BasicInitializer, launcher module's EntryPoint)
com.myapp.gwt.ui.launcher.client.places:
    Places and activities for the launcher module
com.myapp.gwt.ui.module1.client: - all the stuff for the module1 module is here
    Module1Initializer.java (extends BasicInitializer, module1 module's EntryPoint)
com.myapp.gwt.ui.module1.client.places:
    Places and activities for the module1 module
com.myapp.gwt.shared:
    Stuff shared between the client and the server (interfaces, dtos)
com.myapp.gwt.server:
    Code that works only on the server

, что у меня есть в моем Basic.gwt.xml, это:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.3.0/distro-source/core/src/gwt-module.dtd">
<module  rename-to='myapp'>
    <!-- Inherit the core Web Toolkit stuff. -->
    <inherits name='com.google.gwt.user.User' />

    <!-- Inherit the default GWT style sheet. You can change -->
    <!-- the theme of your GWT application by uncommenting -->
    <!-- any one of the following lines. -->
    <inherits name='com.google.gwt.user.theme.clean.Clean' />

    <inherits name="com.google.gwt.place.Place" />
    <inherits name="com.google.gwt.activity.Activity" />
    <inherits name="com.google.gwt.editor.Editor" />

    <!-- Specify the paths for translatable code -->
    <source path='ui.basic.client' />
    <source path='shared' />

    <replace-with class="com.myapp.gwt.ui.basic.client.ClientFactoryImpl">
        <when-type-is class="com.myapp.gwt.ui.basic.client.ClientFactory" />
    </replace-with>

<set-configuration-property name="UiBinder.useSafeHtmlTemplates" value="true" />
</module>

чтоУ меня в Launcher.gwt.xml есть вот что:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.3.0/distro-source/core/src/gwt-module.dtd">
<module  rename-to='launcher'>

    <!-- Other module inherits -->
    <inherits name="com.myapp.gwt.Basic" />

    <!-- Specify the paths for translatable code -->
    <source path="ui.launcher.client"></source>

    <!-- Specify the app entry point class. -->
    <entry-point class='com.myapp.gwt.ui.launcher.client.LauncherInitializer' />

</module>

Ни один из моих классов, находящихся в пакете com.myapp.gwt.ui.basic.client, не имеет ссылки ни на один из классов внутри других пакетов модулей.Другие пакеты модулей, с другой стороны, имеют множество ссылок на базовый модуль, а некоторые классы даже расширяют классы внутри базового пакета.

Проблема в том, что я получаю эту ошибку во время компиляции в javascriptМодуль запуска:

[TRACE] [launcher] - Finding entry point classes
[ERROR] [launcher] - Unable to find type 'com.myapp.gwt.ui.launcher.client.LauncherInitializer'
[ERROR] [launcher] - Hint: Previous compiler errors may have made this type unavailable
[ERROR] [launcher] - Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[ERROR] [launcher] - Failed to load module 'launcher' from user agent 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0' at localhost:61253

Также, пожалуйста, скажите мне, если вы видите что-то стоящее, чтобы изменить в материале, который я сделал.

1 Ответ

3 голосов
/ 22 сентября 2011

Просто быстрое предположение: вы пробовали: <source path='ui/basic/client' />

...