我有2个具有以下结构的项目
项目1
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和图像,并编译成战争。
在升级之前,第二个项目的gwt.xml文件只是声明了第一个项目的入口点类,并且因为它们都具有相同的模块名称,所以我假设gwt编译器将它们连接在一起并将它们全部编译到war文件中。
如果我保留项目结构,我会收到编译错误,指出它无法找到给定目录中的入口点(我假设它在第二个项目中查找它),如果我更改它,那么war文件不会不包含任何应该包含在其中的javascript编译代码。
我需要做的是让第二个项目将第一个项目的入口点声明为自己的入口点。有没有办法做到这一点?
提前致谢
PD:我没有被授权将它全部合并到一个项目中或执行任何重大更改,我必须用我所拥有的。答案 0 :(得分:1)
使用相同的模块名称(使用相同的路径)当然不是一个好主意 - 我想知道,为什么这会与GWT 2.3一起使用?
因此,在您的第二个项目中,为您的模块选择一个不同的名称,并从第一个项目中选择<inherit>
模块(如果这是您想要做的)。
此外,如果第一个项目中有客户端内容,请确保在第一个项目的jar中包含源java文件。
答案 1 :(得分:0)
解决方案是修改Project 2的pom文件以包含Project 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>