从GWT 2.3迁移到2.6后的入口点

从GWT 2.3迁移到2.6后的入口点,gwt,Gwt,我有两个具有以下结构的项目 项目1 <directory>${basedir}/../MyCompany/src/main/java</directory> <includes> <include>**/ui/*.java</include> <include>**/*.css</include> <include>**/ui/*

我有两个具有以下结构的项目

项目1

      <directory>${basedir}/../MyCompany/src/main/java</directory>
      <includes>
        <include>**/ui/*.java</include>
        <include>**/*.css</include>
        <include>**/ui/*.gwt.xml</include>
        <include>**/ui/**/*.java</include>
      </includes>
  • com/MyCompany/MyApp/UI/MyAppUI.gwt.xml

  • com/MyCompany/MyApp/UI/client/MyApp.java(入口点类)

项目2

  • com/MyCompany/MyApp/UI/MyAppUI.gwt.xml
第一个项目包含所有服务器端和客户端代码并编译成jar,第二个项目仅包含基本html页面、css和图像并编译成war

在升级之前,第二个项目的gwt.xml文件只是声明了第一个项目的入口点类,由于它们都有相同的模块名,我假设gwt编译器将它们连接在一起,并将它们全部编译到war文件中

如果我保持项目结构,我会得到一个编译错误,说明它在给定目录中找不到入口点(我假设它正在第二个项目中查找),如果我更改它,war文件将不包含任何应该在其中的javascript编译代码

我需要做的是让第二个项目将第一个项目的入口点声明为自己的入口点。有办法吗

提前谢谢


PD:我无权将其全部合并到一个项目中或执行任何类似的重大更改,我必须利用现有的资源。

使用相同的模块名(具有相同的路径)肯定不是一个好主意-我想知道,为什么在GWT 2.3中可以这样做

因此,在第二个项目中,为模块选择一个不同的名称,然后从第一个项目中选择模块(如果这是您想要做的)


另外,如果第一个项目中有客户端内容,请确保在第一个项目的jar中包含源java文件。

解决方案是修改项目2的pom文件,以包含项目1中所有必需的类

      <directory>${basedir}/../MyCompany/src/main/java</directory>
      <includes>
        <include>**/ui/*.java</include>
        <include>**/*.css</include>
        <include>**/ui/*.gwt.xml</include>
        <include>**/ui/**/*.java</include>
      </includes>
${basedir}/./MyCompany/src/main/java
**/ui/*.java
**/*.css
**/ui/*.gwt.xml
**/ui/***/.java

它之所以有效,是因为类路径优先,可能也是因为同样的原因而失败。解决了它。问题和解决方案在项目的pom文件中。我修改了,以拾取ui文件夹中的每个类。不知道为什么它以前会起作用。谢谢克里斯和托马斯的帮助