Gwt 检查来自模块的继承链;它可能没有继承所需的模块,或者模块可能没有正确添加其源路径项

Gwt 检查来自模块的继承链;它可能没有继承所需的模块,或者模块可能没有正确添加其源路径项,gwt,maven-2,Gwt,Maven 2,我想创建一个包含多个gwt模块的gwt maven项目。其中一些只是实用模块,这意味着它们没有入口点。基本上,我已经有一个gwt项目,其中包含多个gwt模块,我已经将其转换为maven,但在编译时,它给了我以下异常: [错误]找不到类型 'in.appops.showcase.web.gwt.uploadservice.client.uploadservice'[信息] [错误]提示:以前的编译器错误可能导致此类型错误 不可用[INFO][ERROR]提示:检查继承链 从你的模块;它可能没有继承

我想创建一个包含多个gwt模块的gwt maven项目。其中一些只是实用模块,这意味着它们没有入口点。基本上,我已经有一个gwt项目,其中包含多个gwt模块,我已经将其转换为maven,但在编译时,它给了我以下异常:

[错误]找不到类型 'in.appops.showcase.web.gwt.uploadservice.client.uploadservice'[信息] [错误]提示:以前的编译器错误可能导致此类型错误 不可用[INFO][ERROR]提示:检查继承链 从你的模块;它可能没有继承所需的模块或 模块可能未正确添加其源路径项

我的项目有core和dispath模块,它们是没有入口点的实用程序模块,还有其他uploadservice模块,它们有入口点,入口点继承了核心模块

因此,我将core.gwt.xml、dispatch.get.xml放在它们的包中,即放在src/main/java本身中,并将uploadservice.gwt.xml放在maven的resources文件夹中。 在pom.xml中,我还提供了要编译的模块:

<configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>gwt-maven-plugin</artifactId>
                                    <version>2.4.0</version>
                                    <goals>
                                        <goal>clean</goal>
                                        <goal>resources</goal>
                                        <goal>compile</goal>
                                        <goal>i18n</goal>
                                        <goal>generateAsync</goal>
                                    </goals>
                                    <configuration>
                                        <runTarget>Index.html</runTarget>
                                        <hostedWebapp>${webappDirectory}</hostedWebapp>
                                         <modules>
                                            <!-- <module>platform.bindings.web.gwt.dispatch.Dispatch</module>
                                             <module>platform.core.Core</module>   -->
                                            <module>showcase.web.gwt.addressbook.AddressBook</module>
                                            <module>showcase.web.gwt.uploadservice.UploadService</module>
                                        </modules> 
                                    </configuration>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>

org.codehaus.mojo
GWTMaven插件
2.4.0
清洁的
资源
编译
i18n
生成同步
Index.html
${webappDirectory}
showcase.web.gwt.addressbook.addressbook
showcase.web.gwt.uploadservice.uploadservice

谁能帮我摆脱这个例外。是否需要我提供编译模块或其他任何内容的顺序?

您的
UploadService.gwt.xml
文件应位于
src/main/resources/in/appops/showcase/web/gwt/UploadService
中。其他GWT模块描述符也应在其软件包中。

注1- 使用gwt标准时,请使用文件夹结构

    src/main/java/showcase/web/gwt/yourmodule/yourmodule.gwt.xml
    src/main/java/showcase/web/gwt/yourmodule/client 
    src/main/java/showcase/web/gwt/yourmodule/public 

Your pom references 
    <module>showcase.web.gwt.addressbook.AddressBook</module>
    <module>showcase.web.gwt.uploadservice.UploadService</module>

Your .gwt.xml file location
    src/main/java/showcase/web/gwt/addressbook/AddressBook.gwt.xml
    src/main/java/showcase/web/gwt/uploadservice/UploadService.gwt.xml
src/main/java/showcase/web/gwt/yourmodule/yourmodule.gwt.xml
src/main/java/showcase/web/gwt/yourmodule/client
src/main/java/showcase/web/gwt/yourmodule/public
你的pom推荐信
showcase.web.gwt.addressbook.addressbook
showcase.web.gwt.uploadservice.uploadservice
您的.gwt.xml文件位置
src/main/java/showcase/web/gwt/addressbook/addressbook.gwt.xml
src/main/java/showcase/web/gwt/uploadservice/uploadservice.gwt.xml
注2-
适用于您的m2e=maven eclipse插件。有关GWT MAVEN POM示例的清晰示例,请参见-

注3-完全遵循gwt maven示例项目中极其简单的示例-


不要更改文件夹位置。*遵循命名约定。*即使是公用、客户端等文件夹名称在GWT中也是通过“名称”选择的。

如果在加载入口点时发生此错误,您可能需要更改*.GWT.xml文件中的标记

更改包结构后,我成功地修复了错误,“检查模块的继承链;它可能没有继承所需的模块,或者模块可能没有正确添加其源路径项”

  • 在.gwt.xml文件中,找到文件底部附近的源标记。
  • 恢复到以前的工作提交,或打开已知的工作项目
  • 注意工作源标记相对于工作项目的包结构遵循的模式。
  • 前滚到断开的提交
  • 按照相同的模式修改源标记以与当前包结构相对应。


此外,您应该检查以确保在.gwt.xml文件中有适当的inherits标记。例如,如果您尝试在不使用inherits name=“com.SmartGWT.SmartGWT”

标记的情况下使用SmartGWT,您会遇到类似的错误,但是是否有必要将所有的gwt.xml都放在resources文件夹中,或者像您在java文件夹中提到的那样。我有点困惑。如果在那里创建GWTMaven项目时,我想指定4个gwt模块,比如添加param module和value gwtmodule name。那么步骤是什么呢?我更喜欢谷歌团队将.gwt.xml文件放入java文件夹的方式。即使是这方面的微小变化也意味着需要额外的努力来维护它、记录和让其他人理解它。如果您的代码具有明确的包模块性,您应该选择将项目拆分为几个maven“子模块”,您可以将.gwt.xml文件放在java文件夹中,但其他.properies或.xml文件需要放在各自的src/main/resources文件夹中,因为当我们打包它时,它可能会给您带来问题,因为默认情况下,它不会在war、ear文件中包含这些资源。o、 我们需要在pom.xml中指定它,如果我使用您的方法,我的项目正在运行,但需要对文件夹结构进行说明,我们可以直接在java文件夹中使用它。谢谢你的帮助。