GWT - 无法找到类型'com.myapp.launcher.client.LauncherInitializer'多模块架构

时间:2011-09-22 13:19:05

标签: gwt gwt-mvp

我有一个具有以下结构的项目:

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 个答案:

答案 0 :(得分:3)

快速猜测:您是否尝试过:<source path='ui/basic/client' />