当我为gwt项目运行maven时,我面临以下问题。
现在我需要在B项目中添加一些新类,并且新类应该从" A"项目客户方。
我们可以在B项目中添加新类,在为B项目运行maven之后,我们可以在B项目jar中看到新类。
但是,当我为项目A运行maven时,它会显示一个错误,例如"您是否忘记继承所需的模块?"。
注意:我创建了相同的测试项目,并且能够在A项目客户端代码中访问B项目新类。但是当我使用Maven运行时,它无法继承这些新类。
请告诉我如何解决这个问题。
答案 0 :(得分:0)
通常,您需要将代码编译为javascript,以便从客户端访问它(如果我们不考虑请求代理,Web服务等)。如果您的代码位于GWT模块之外,那么客户端就不存在这样的代码。实际上,这意味着您需要从B模块中提取客户端可访问的类,并将其放入A \ shared文件夹中。另外,请不要忘记将<source path="shared" />
放入A gwt.xml描述符中。当然,这种重构的缺点是,您只能在shared
代码中使用"JRE emulated"个类。
另一种解决方案是在B项目中创建gwt模块并在A项目中继承它。