出于好奇心的考虑,我正在开发一个小型的实验平台/环境无关的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
简单地说,在任何情况下,我都不希望app
或fx
与GWT相关。此外,我认为修改<source path="...">
(引用另一个模块源代码)可以提供帮助,但我无法使其工作(如果可能的话)。以下是一些类似的问题,不确定它们可以提供帮助:
感谢。
(为简单起见,我们假设app
和fx
没有外部依赖关系)
答案 0 :(得分:0)
我已经深入研究了这个问题,一般的解决方案是:
maven-source-plugin
插件将依赖项源代码提供给依赖项存储库。这一步是必须的,因为GWT编译依赖源代码而不是使用JAR。inherit
元素定义常规GWT模块以建立依赖关系。gwt-maven-plugin
编译目标应用程序,并设置compileSourcesArtifacts
配置选项以匹配依赖项。在http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html
了解详情