View Full Version : Ext GWT 3.0.0 from Maven repository

10 Sep 2011, 4:45 AM
Are the Ext GWT 3.0.0 Developer previews (version 4 already) already available from a maven repository?

"With Ext GWT 3.0, we moved to Maven to manage the project. In addition, we will be publishing all Ext GWT releases into Maven Central." (http://www.allcreativity.com/showthread.php?650-Ext-GWT-3.0-Developer-Preview-1)

Colin Alworth
10 Sep 2011, 8:13 AM
No snapshot may be published to maven central, but gxt 3 previews are available through Sonatype's Open Source Hosting snapshot repository.

Path to the groupId for our artifacts:

Browse Sonatype's snapshot repository:

gxt-release is the actual release zip, and gxt is the standard library jar.

11 Sep 2011, 1:12 AM
Looks good to me B) Are all the latest releases in this repository (is the repository always up to date)? And why is gxt-resources distributed as zip file, the project needs a jar (isn't it)?

A Maven (POM) project with/from the examples would also be nice for a quick look at the examples...

Colin Alworth
11 Sep 2011, 6:13 AM
The repository has the current developer preview in it that is available from http://www.sencha.com/products/extgwt/download/. When we get around to beta, RC, and the release, those will more likely be pushed to central, with the current version number. I don't think we'll continue to produce public snapshots at that time.

For an example pom, look at gxt-examples, a war project showing how to use the gxt jar, as well as the gxt-uibinder work we've done. Note that it uses the gxt-resources zip artifact as a war overlay, as we initially had intended to keep the same css as the Ext JS project, to allow themes to work for both libraries. We've since decided that there are too many optimizations we would lost doing that, and have phased out much of the css and images in that project into ClientBundle-based resources. It is likely that a final release will not use a war overlay. (Examples also uses the charting jar)

Note also that you don't need to use the war overlay in this exact way - you could decompress the zip and put the images and css whereever in your war that you want to have them. Letting maven manage this overlay means that you can update a single gxt version in the project, and the jars as well as the resources are brought up to date together, a significant source of user problems on the forum. Yet another advantage of ClientBundle is that projects using GXT need not keep track of external at all, just keeping the jars they use consistent.

13 Sep 2011, 12:22 PM
Hello Colin,

Thanks for your reply. I don't know if I understand your story right;

"Letting maven manage this overlay means that you can update a single gxt version in the project"

Do you mean; by delivering the resources as a JAR file next to the other libraries?

I already studied the examples-src but I don't understand how to open the complete examples project as a Maven project. Why is the pom.xml placed (far) in


And not in the root (gxt- of the project? My own Maven project holds the pom.xml in the root and therefore the project can be easily imported into IntelliJ IDEA or Eclips... Is there an easy way to import this examples project into IntelliJ IDEA without completely rebuilding it?


Roland Beuker

Colin Alworth
14 Sep 2011, 8:56 AM
The final zip is structured as previous releases have been, not following the maven structure. This is done under the assumption that people are interested in seeing the code, not directly running the project. The project sources can of course be checked out from SVN with a subscriber account. We haven't made a practice of assembling full working ant/maven/eclipse/netbeans/intellij projects as part of the release, and I don't know of plans to start.

Using GXT in a maven project is just like using GWT in a maven project, except you'll also want to add the com.sencha.gxt:gxt dependency - the examples war is unzipped with source just as an example of how the finished war looks, whether produced by maven or by some other means. As you may be aware, it is also possible to use GWT/GXT with non-Java based servers - if we start getting too specific about how a gxt project 'should' be set up, users tend to get the impression that it cannot be done some other way.

Considering the resources artifact: How would you manage css or js based resources? Using a specific server side framework like wicket, this can be wrapped up in a jar, and made available by classes designed to walk the classpath looking for files, but is then incompatible with other ways of loading those static files. If you know of a way that static resources can be added easily to a war-based project, we are open to suggestions, but based on my maven and gwt experience, this is the simplest way.

I hope this helps clarify - the zipped up gxt release is intended for all audiences, using maven or not. If you wish to build manually, or run the project in your IDE of choice, please check out the source tree from SVN. If you just want to run the examples locally, that dir can be dropped into a servlet container - something you cannot do with a source tree, which is our reasoning for doing it this way. We aren't distributing the source so people have to build it themselves, instead it is a working tool, with already compiled examples and docs.

14 Sep 2011, 11:50 AM
"We haven't made a practice of assembling full working ant/maven/eclipse/netbeans/intellij projects as part of the release, and I don't know of plans to start."

Unfortunately no example project... For developers new to the GWT/GXT technology, there is a very big learning curve and no documentation at all... The possibility to build and run the example code with each distribution would be an 'appreciated' form of support at this time... The example code is there, only an extra project is needed (almost no effort from your side) ...

With Maven; the project could be imported into Eclipse, Netbeans and Intellij (there's even a Maven/Ant adapter), and it would fulfill the earlier mentioned statement; "With Ext GWT 3.0, we moved to Maven to manage the project (http://www.allcreativity.com/showthread.php?650-Ext-GWT-3.0-Developer-Preview-1)"

I sincerely hope you will consider this example project option...

Colin Alworth
14 Sep 2011, 12:58 PM
Ah, I think I understand the issue now: the 'examples' project is not intended as an example of how a _project_ should be put together - in fact I would discourage it for a number of reasons: The pom is set up to make the code available, and the compiled war size larger as a result; the app has a custom generator used to turn sourcecode into strings so you can see how it works. This is not a beginners project to learn how to build gxt projects - it is a showcase of how to use certain widgets and examples, meant to be viewed from the web, not the ide (though copy pasting each example is totally appropriate, thats why they all extend EntryPoint to help you get started with that specific example in your own project).

Keep in mind too that this is only a developer preview of 3.0, and the API itself isn't even finalized. Already since this drop we've changed the module setup and ported additional missing widgets.

If you are looking to learn how to build or debug GWT projects, I highly recommend the docs and examples that GWT has put together. If wondering how to get maven to work with gwt, check out the docs for the gwt-maven-plugin, provided by codehaus. There will be examples of simple projects and better documentation for GXT, but not until after beta. The Examples project is itself only intended as a way to show code and working widgets, along with some commentary on how to perform further customizations.

I'm sorry for the misunderstanding, and I hope this helps to clear up the intent of the examples project. As in the current stable version 2.2.4, actual example apps will be provided, but our intent is to demonstrate working code and ways to work with GXT, not how to get started with it. Also, again you can check out the example project, in its actual maven-ized project structure, from SVN.