Компиляция GWT + Maven и Eclipse для более чем одного модуля - PullRequest
0 голосов
/ 20 сентября 2018

Я использую рекомендуемый GWT Maven Plugin и GWT Eclipse Plugin .На самом деле я использую плагин maven с appengine-mave-plugin, чтобы попытаться эмулировать старый режим супер разработки Google Eclipse Plugin.Следуя инструкциям Google App Engine из документации по подключаемому модулю GWT и предлагаемому образцу проекта gwt-basic-rpc-appengine Я создал этот проект, структурированный так, что мой проект работает в режиме супер-разработчика, когда язапустить локальный сервер App Engine из Eclipse (с помощью инструмента запуска локального сервера App Engine Eclipse Google Cloud Tools).От Maven этот процесс работает следующим образом: mvn clean package appengine:devserver_start и mvn gwt:codeserver.

Однако плагин Maven GWT компилирует только один из четырех модулей.Это моя pom.xml конфигурация:

<!-- GWT Maven Plugin-->
      <plugin>
        <groupId>net.ltgt.gwt.maven</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <version>1.0-rc-8</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
             <!--  <goal>test</goal>-->
            </goals>
          </execution>
        </executions>
        <configuration>
          <moduleName>com.company.Administracion</moduleName>
          <moduleName>com.company.Cronometro</moduleName>
          <moduleName>com.company.Extension</moduleName>
          <moduleName>com.company.Company</moduleName>
        <!--   <moduleShortName>Nubbius</moduleShortName> -->
          <failOnError>true</failOnError>
          <!-- GWT compiler 2.8 requires 1.8, hence define sourceLevel here if you use
               a different source language for java compilation -->
          <sourceLevel>1.8</sourceLevel>
          <!-- Compiler configuration -->
          <localWorkers>4</localWorkers>
          <draftCompile>true</draftCompile>
          <compilerArgs>
            <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
            <arg>-compileReport</arg>
            <arg>-XcompilerMetrics</arg>
          </compilerArgs>
          <!-- DevMode configuration -->
          <!-- <warDir>${project.build.directory}/${project.build.finalName}</warDir>
-->
          <launcherDir>${project.build.directory}/${project.build.finalName}</launcherDir>
          <classpathScope>compile+runtime</classpathScope>
          <codeServerPort>auto</codeServerPort>
          <!-- URL(s) that should be opened by DevMode (gwt:devmode). -->
          <startupUrls>
            <startupUrl>Company.jsp</startupUrl>
          </startupUrls>
          <jvmArgs>
            <arg>-Xms1024M</arg>
            <arg>-Xmx2014M</arg>
            <!-- <arg>-javaagent:/home/.m2/repository/.../appengine-java-sdk-1.9.59/lib/agent/appengine-agent.jar </arg>-->             <arg>-javaagent:/home/desarrollo26/Descargas/appengine-java-sdk-1.9.59/lib/agent/appengine-agent.jar </arg>
          </jvmArgs>
        </configuration>
      </plugin>

Папка src содержит структуру:

src/
├── main
│   ├── appengine
│   ├── java
│   │   └── com
│   │       └── company
│   │           ├── client
│   │           ├── server
│   │           └── shared
|   |           
│   ├── resources
│   │   └── META-INF
│   └── webapp
       └── WEB-INF
│           ├── classes
│           │   ├── com
│           │   │   └── company
            │   │       └── shared
│           │   ├── main
│           │   │   ├── java
│           │   │   └── resources
│           │   └── META-INF
│           └── lib
│               └── lib
├── META-INF
└── test
    └── java

(Все файлы modules.gwt.xml находятся на одном уровне client/Папки server/ и shared/. (

Из Eclipse я могу создать панель запуска для компиляции моего проекта со всеми параметрами, указанными в файле POM, но не могу автоматически выполнить разнесение войныи скопируйте процесс (это основная причина для сборки проекта из Maven).

Могу ли я решить этот процесс компиляции с моей структурой проекта? Con Я использую проект GWT Eclipse и Maven вместе?

Спасибо!

1 Ответ

0 голосов
/ 20 сентября 2018

Для компиляции необходимо использовать одно выполнение на модуль.

При этом вам действительно следует разбить проект на (как минимум) 5 подмодулей Maven (по одному для кода на стороне сервера и поМодуль GWT, и, возможно, дополнительные для общего кода, и вы можете использовать упаковки gwt-app и gwt-lib для модулей GWT, чтобы упростить ваши файлы POM)

...