GWT:是否可以引用包含GWT独立演示者的非GWT模块?

时间:2014-12-24 14:04:55

标签: gwt mvp gwt2 platform-agnostic

出于好奇心的考虑,我正在开发一个小型的实验平台/环境无关的MVP框架式的东西,它应该尽可能地与平台无关。目前,它由哑模型,平台无关的演示者(在单个抽象主应用程序模块中定义)和平台相关视图(目前有Swing,Android和终端友好环境的实验)组成。但是,我在尝试使GWT成为另一个可用平台时遇到了麻烦,因为它需要通过.gwt.xml文件继承模块。是否有一种以某种方式继承非GWT模块的好方法,并保持这个抽象的独立于平台的模块.gwt.xml - 免费,但仍然可用于GWT?如果它值得:所有模块都是用Maven构建的,项目结构如下:

[root]
    [app]                --- platform-independent application
        pom.xml              -- references fx
    [app-gwt]            --- GWT-views, entry point, etc
        pom.xml              --- references app, fx, fx-gwt
        .... App.gwt.xml     --- references Fx.gwt.xml
    [fx]                 --- the core itself
        pom.xml              --- references nothing
    [fx-gwt]             --- GWT-specific adapters for the fx module
        pom.xml              --- references fx
        .... Fx.gwt.xml      --- references GWT core
    pom.xml

简单地说,在任何情况下,我都不希望appfx与GWT相关。此外,我认为修改<source path="...">(引用另一个模块源代码)可以提供帮助,但我无法使其工作(如果可能的话)。以下是一些类似的问题,不确定它们可以提供帮助:

感谢。

(为简单起见,我们假设appfx没有外部依赖关系)

1 个答案:

答案 0 :(得分:0)

我已经深入研究了这个问题,一般的解决方案是:

  • 使用maven-source-plugin插件将依赖项源代码提供给依赖项存储库。这一步是必须的,因为GWT编译依赖源代码而不是使用JAR。
  • 使用inherit元素定义常规GWT模块以建立依赖关系。
  • 使用gwt-maven-plugin编译目标应用程序,并设置compileSourcesArtifacts配置选项以匹配依赖项。

http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html

了解详情