2014-12-24 2 views
1

Для любопытства я разрабатываю небольшую экспериментальную платформу/среду-агностическую MVP-структуру, которая должна быть максимально независимой от платформы. В настоящее время он состоит из немых моделей, не зависящих от платформы презентаторов (определенных в одном абстрактном основном модуле приложения) и зависящих от платформы представлений (в настоящее время существуют эксперименты с Swing, Android и удобной для пользователей средой). Тем не менее, я испытываю трудности с попыткой сделать GWT еще одной доступной платформой, потому что она требует наследования модулей через файлы .gwt.xml. Есть ли хороший способ наследования не-GWT-модулей каким-то образом и сохранить этот абстрактный независимый от платформы модуль .gwt.xml -бесконечный, но все же доступный для GWT? Если это достойно: все модули построены с Maven, и структура проекта выглядит следующим образом:GWT: Можно ли передавать модули без GWT, содержащие GWT-независимые ведущие?

[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

Я исследовал проблему глубже, и общее решение:

  • питания в зависимости исходного кода в репозитория зависимостей с использованием плагина maven-source-plugin. Этот шаг является обязательным, потому что GWT компилирует исходный код зависимости, а не использует JAR.
  • Определите обычный модуль GWT с элементами inherit для создания зависимостей.
  • Скомпилируйте целевое приложение, используя gwt-maven-plugin с параметром конфигурации compileSourcesArtifacts, установленным в соответствии с зависимостями.

Смотри на http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html

Смежные вопросы