我正在使用推荐的GWT Maven Plugin和GWT Eclipse Plugin。实际上,我正在使用带有appengine-mave-plugin
的maven插件来尝试模仿旧的Google Eclipse插件超级开发模式。按照GWT插件文档中的Google App Engine说明和建议的示例项目gwt-basic-rpc-appengine,我创建了这个项目,该结构的结构是当我从Eclipse(使用Eclipse)启动App Engine本地服务器时,我的项目以超级开发模式运行Google Cloud Tools本地App Engine服务器启动器工具)。在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)。
我可以用我的项目结构解决该编译过程吗? 骗子我可以同时使用GWT Eclipse项目和Maven吗?
谢谢!
答案 0 :(得分:0)
您需要在每个模块上执行一次执行。
话虽这么说,您实际上应该将项目分成(至少)5个Maven子模块(一个用于服务器端代码,每个GWT模块上,以及可能用于共享代码的其他子模块;并且您可以使用gwt -app和gwt-lib包装用于GWT模块,以简化您的POM文件)