当我们使用Maven运行时,如何访问从gwt项目添加到现有jar的一些新java类

时间:2014-07-05 11:02:09

标签: maven gwt

当我为gwt项目运行maven时,我面临以下问题。

  1. 在我的项目中我们有" A"使用gwt框架工作创建的项目。
  2. " B" project是一个java项目,我们需要在" A"中访问B项目类。项目服务器side.so为B项目创建了一个jar并添加到项目构建路径中。
  3. 现在我需要在B项目中添加一些新类,并且新类应该从" A"项目客户方。

    我们可以在B项目中添加新类,在为B项目运行maven之后,我们可以在B项目jar中看到新类。

    但是,当我为项目A运行maven时,它会显示一个错误,例如"您是否忘记继承所需的模块?"。

    注意:我创建了相同的测试项目,并且能够在A项目客户端代码中访问B项目新类。但是当我使用Maven运行时,它无法继承这些新类。

    请告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

通常,您需要将代码编译为javascript,以便从客户端访问它(如果我们不考虑请求代理,Web服务等)。如果您的代码位于GWT模块之外,那么客户端就不存在这样的代码。实际上,这意味着您需要从B模块中提取客户端可访问的类,并将其放入A \ shared文件夹中。另外,请不要忘记将<source path="shared" />放入A gwt.xml描述符中。当然,这种重构的缺点是,您只能在shared代码中使用"JRE emulated"个类。

另一种解决方案是在B项目中创建gwt模块并在A项目中继承它。