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
-
Manage your module in a
src/main/module.gwt.xml
file.
-
Adds all source roots as 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 (optional)src/main/module.gwt.xml
file.The
META-INF/gwt/mainModule
files are generated by thegwt:generate-module-metadata
goal. -
Packaging
gwt-app
generates a WAR that can be directly used as overlays in a downstream module with awar
packaging.
The plugin documentation is published at https://tbroyer.github.io/gwt-maven-plugin/
You can also look at the integration tests,
particularly gwt-lib
, gwt-app
, and e2e
.