This plugin aims at making it easier to build GWT projects with Maven, by providing two specific packagings: gwt-lib
and gwt-app
.
-
Add the plugin to your POM and enable extensions:
<plugin> <groupId>net.ltgt.gwt.maven</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>…</version> <extensions>true</extensions> </plugin>
-
configure your module name in the plugin:
<configuration> <moduleName>com.example.app.App</moduleName> </configuration>
-
set your
<packaging>
to eithergwt-lib
orgwt-app
-
Adds all source roots are resources so they're packaged within the generated JAR.
-
Uses
src/main/super
for super-sources and possibly relocate them within your module's package with<relocateSuperSource>true</relocateSuperSource>
. -
Generates
<inherits>
from Maven dependencies: thegwt:generate-module
searches forMETA-INF/gwt/mainModule
files in the projects direct dependencies and merges them with an optionalsrc/main/module.gwt.xml
file.The
META-INF/gwt/mainModule
files are generated by thegwt:generate-module-metadata
goal. -
Imports sources dependencies: dependences with a
<type>java-source</type>
are unpacked and added as resources. When building a GWT adapter for a shared library, this allows the library sources to be packaged within the GWT adapter lib, along with the GWT-specific sources, super-sources and GWT module. -
Packaging
gwt-app
generates a WAR that can be directly used as overlays in a downstream module with awar
packaging.
More docs to come, for the time being, use:
mvn gwt:help
for help on each goal- lookup the lifecycles in the
components.xml
- look at the integration tests, particularly
gwt-lib
,gwt-app
,import-sources
ande2e
.