Friday, December 16, 2011

Run a Google Web Toolkit 2 project on Apache Karaf/ServiceMix

To simplify the development of Web projects on Apache Karaf/Apache ServiceMix, we have created archetypes to setup WAR or WAB projects. They are very basic but they can be enriched with framework like Struts 2, Wicket, plain JSP or MyFaces JSF as they are currently supported on Apache Karaf - ServiceMix.

For the GWT users, it exists now an archetype which will create a GWT 2.4 project. To create such a project, you must generate a project from the archetype

mvn archetype:generate \
   -DarchetypeGroupId=org.ops4j.pax.web.archetypes\
   -DarchetypeArtifactId=wab-gwt-archetype \
   -DarchetypeVersion=2.0.0-SNAPSHOT \
   -DgroupId=com.mycompany \
   -DartifactId=hello \
   -Dversion=1.0



build next the WAB using hello/mvn clean install

and deploy it on Apache Karaf



Verify that the web site is well registered :



Next, you can navigate to your application in your browser and click on the button to say Hello.




Remark : A WAB project is nothing more than a WAR excepted it is packaged as a bundle file, that we have removed the WEB-INF/lib dependencies and create a MANIFEST file containing the OSGI instructions.


2 commentaires:

Christian said...

Hi, thanks for this post. I just tried this. Building works fine, but when i try to follow the instructions in the README i get errors for:

install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.json/20090211_1-SNAPSHOT
install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1-SNAPSHOT
install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-user/2.4.0_1-SNAPSHOT

java.lang.RuntimeException: URL [mvn:...] could not be resolved.

Do i have to add a certain maven repo?

Thanks

Charles Moulliard said...

Apache Maven repo should be used to get the servicemix bundles as they are not yet published (https://repository.apache.org/content/repositories/snapshots/)