Birt has no reason to be in the classpath if it's not used client-side.
Unfortunately, Maven sometimes makes things harder than necessary; so with Maven you need your GWT client code to be a specific Maven module with no dependency on server-side code; then "merge" everything into a single WAR using WAR overlays.
With that layout (let's call the modules app-client
and app-server
), you have several solutions to launch gwt:run
or gwt:debug
:
never tried but you could probably configure hostedWebapp to point to your app-server
output directory:
../app-server/target/app-server-${project.version}/
Make sure you run mvn clean
before packaging your app-server
WAR though to be sure the generated JS files come from app-client
(as a WAR overlay) and not app-server
(generated by gwt:run
)
what I use in gwt-maven-archetypes: launch the server-side code in a distinct servlet container, and use true
Make sure you run mvn clean
before packaging too, or use -Dgwt.compiler.force
, to be sure gwt:compile
won't treat the DevMode-generated *.nocache.js
file as up-to-date and will recompile the application.