Some things I'm not clear on from your post:

1) Did you inherit the commons module in each of your *.gwt.xml files?
2) When you did the jar packaging, did you include the java source for
the client-side?
3) Are your public resources (i.e. CSS) located in a ".../moduleName/
public/" folder? Were they included in the jar?
4) Was your commons.gwt.xml file included in the jar?

On Jun 15, 3:29 pm, gazarcher <garry.arc...@gmail.com> wrote:
> Hello All,
>
> I had a largish Web app with several GWT modules in different
> packages.  These modules shared common code which I put into a
> separate module, also in it's own package.  As simple as I can
> describe it, it looked a bit like this:
>
> // Modules specific to the app:
>
> MyPackage.MyApp.GWTModuleA
> MyPackage.MyApp.GWTModuleB
> MyPackage.MyApp.GWTModuleC
>
> // A common module that could be used in other apps:
>
> MyPackage.common.GWTModuleD
>
> // Common module containing code and resources used by any GWT module:
>
> MyPackage.common.gwt.Common
>
> Each of these modules contained their own module XML file (of course),
> CSS file, HTML file and images.  Each module, even the Common one, had
> it's own entry point.  Each module defined at least one servlet --
> which were all also configured in the app's web.xml file.
>
> The Common module included an entry for <add-linker name="xs" />.
>
> All of the modules, A through D, inherited the Common module.  For
> example, GWTModuleA could use styles defined in Common's common.css
> file, as well as inheriting widget classes.
>
> When I complied everything (using IntelliJ IDEA), the output from
> compiling normal Java source into class files and compiling GWT Java
> source into JavaScript all were put into one folder where a WAR file
> was also built.  The relevant folders in the output were:
>
> // Normal class files into the usual places:
>
> WEB-INF/classes/MyPackage.MyApp.SubPackageA/*.class
> WEB-INF/classes/MyPackage.MyApp.SubPackageB/*.class
> etc.
>
> // GWT JavaScript and resource files:
>
> MyPackage.MyApp.GWTModuleA/*.js
> MyPackage.MyApp.GWTModuleA/*.rpc
> MyPackage.MyApp.GWTModuleA/*.png
> MyPackage.MyApp.GWTModuleA/images/ -- From the Common module
> MyPackage.MyApp.GWTModuleA/common.css -- From the Common module
> MyPackage.MyApp.GWTModuleA/GWTModuleA.css
> MyPackage.MyApp.GWTModuleA/GWTModuleA.html
>
> (and similarly for modules B, C and D *and* Common)
>
> This all went together very nicely and worked and SO FAR SO GOOD!
>
> Then I proceeded to break it :-)
>
> I wanted to put my Common module into it's own JAR file so that my Web
> app and other Web apps we are developing could use it.  Here's what I
> did (amongst several things that didn't work, and trying to cut the
> long story short...):
>
> 1) I created a new "Common" Intellij IDEA project and moved my common
> modules, MyPackage.common.GWTModuleD and MyPackage.common.gwt.Common,
> from my Web app project into it.
>
> 2) In the "Common" project, I compiled everything.  The normal Java
> class files went into their respective folders, i.e.:
>
> // Regular Java classes:
>
> MyPackage/common/SubPackageA/*.class
> MyPackage/common/SubPackageB/*.class
>
> // GWT modules, their classes and resources, i.e., CSS, HTML, etc. and
> the module XML file:
>
> MyPackage.common.GWTModuleD/*
> MyPackage.common.gwt.Common/*
>
> and GWT's JavaScript output, all went into a separate folder (let's
> say I don't need this for now).
>
> NOTE: During the compilation of the GWT class files, I was *also*
> careful to copy their Java source files into the same folders (a
> requirement when building JAR files for shared GWT modules).
>
> 3) I created a JAR file from the classes, sources and resource files
> in step #2.
>
> 4) I imported this new JAR file into my original Web app project, now
> sans all the common code I moved into the new "Common" project.
>
> 5) I successfully compiled my Web app project and deployed the
> resulting WAR file as before.
>
> The Web app appeared to work, *except* in my GWT modules, that used
> common code before, were all missing the styling and images from my
> Common module.  Also, the GWTModuleD common module was not there at
> all.
>
> So, what did I do wrong? What am I missing?  Here are my assumptions,
> of which some are presumably totally incorrect:
>
> a) When I compiled my Web app project with my Common GWT JAR file, GWT
> found the class files in the JAR and so any widgets I built in the Web
> app were inheriting the functionality of the common widget code.  This
> did appear to happen without problem.
>
> b) When GWT was compiling my Web app GWT modules, it was using the
> source files to create the JavaScript files under their
> MyPackage.MyApp.GWTModule[ABC] folders, copying any resource files
> from their original location in the project.  This also appeared to
> occur without a problem.
>
> c) When GWT was compiling my Web app GWT modules in the project I
> thought it should have seen they were inheriting my
> MyPackage.common.gwt.Common module in the imported JAR file.  I
> thought it should have taken the source files from the JAR to create
> the JavaScript and copy the resource files from the JAR into a
> MyPackage.common.gwt.Common folder *and* copy files like CSS and
> images into the MyPackage.MyApp.GWTModule[ABC] folders of modules
> inheriting the Common module.  This DID NOT happen.
>
> d) More problematic, perhaps, is that MyPackage.common.GWTModuleD was
> totally ignored, because I had no way of telling GWT to extract it's
> source and resource files from the JAR file to create the
> MyPackage.common.GWTModuleD folder with it's JavaScript and associated
> resource files.  The only place the servlets in this module are
> referenced outside of itself is the Web app's web.xml.
>
> As you can see, (c) and (d) are where I need the help on.  Any ideas
> of where I'm going wrong, or any extra steps I should take?   Am I
> trying to do something that is currently impossible?  Was I assuming
> too much of GWT?
>
> Many thanks in advance, and I do apologise for the length of this
> message.
>
> - Garry Archer

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to