1

出于好奇,我正在开发一个小型实验平台/与环境无关的 MVP 框架,它应该尽可能多地独立于平台。目前它由哑模型、独立于平台的演示者(定义在一个抽象的主应用程序模块中)和依赖于平台的视图组成(目前有 Swing、Android 和终端友好环境的实验)。但是,我在尝试使 GWT 成为另一个可用平台时遇到了麻烦,因为它需要通过.gwt.xml文件继承模块。是否有一种以某种方式继承非 GWT 模块的好方法,并保持该抽象平台独立模块.gwt.xml-free,但仍可用于 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="...">(引用另一个模块源代码)会有所帮助,但我不能让它工作(如果可能的话)。以下是一些类似的问题,不确定它们是否可以提供帮助:

谢谢。

(为简单起见,我们假设app并且fx没有外部依赖项)

4

1 回答 1

0

我已经更深入地调查了这个问题,一般的解决方案是:

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

在http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html查看更多信息

于 2015-06-01T01:05:42.427 回答