Andrea - thank you so much. I finally get it. Just to recap. I was using adapter classes, and at one point during a recent project re-org, I think I inadvertently moved them from server to shared package. I moved only the adapter classes back into the server package. Viola! - GWT-Compile is happy once again.
On Thu, Jun 21, 2012 at 3:28 PM, Andrea Boscolo <[email protected]> wrote: > If your classes are simply annotated with JAXB annotations, you should > follow http://code.google.com/p/**google-web-toolkit/issues/**detail?id=4020 > (comment 10) for the workaround, and keep them in the 'shared' package, so > they can communicate and used with both sides (and you don't violate DRY). > But If you have adapters (i.e., classes that extend XmlAdapter<V, B>) that > are in the client/shared side, you should move them in the server, 'cause > they cannot be compiled and are useful only when taking > marshalling/unmarshalling in account. > I don't think your solution work. You are only excluding files from > compilation, but what if they are useful? Move adapters to the server. Keep > annotated classes in the 'shared' and follow the above link. > > On Thursday, June 21, 2012 1:38:40 PM UTC+2, shawnjohnson wrote: >> >> Sorry, I didn't mean to post that reply quite that way (hit some new >> keyboard combo)... >> >> My.gwt.xml >> (before) >> <module> >> <source path="common"/> >> </module> >> >> (after) >> <module> >> <source path="common"> >> <exclude name="MyXmlAdapter1.java" /> >> <exclude name="MyXmlAdapter2.java" /> >> <exclude name="MyXmlAdapter2.java" /> >> </source> >> </module> >> >> >> On Jun 21, 7:35 am, shawnjohnson <[email protected]> wrote: >> > Thank for the reply. I'm only marshalling/unmarshalling on the >> server-side >> > - so does that mean I should move those classes into a "server" >> package? >> > That's even if the annotation is in the shared bean? Yes, still using >> > GWT-RPC. Is the workaround as simple as this? >> > >> > My.gwt.xml (before) >> > <module> >> > <source path="common"/></module> <module> <source >> path="common"> >> > <exclude name="MyXmlAdapter1.java" /> >> > <exclude name="MyXmlAdapter1.java" /> >> > </source> >> > >> > >> > >> > >> > >> > >> > >> > On Wednesday, June 20, 2012 6:16:03 PM UTC-4, Andrea Boscolo wrote: >> > >> > > Such annotations are not GWT compatible (i.e., they are not known to >> the >> > > GWT emulated JRE and definitely cannot be compiled in js, even >> providing >> > > the relative sources - that I think they can be found in >> jaxb-api-src.jar >> > > inside the jaxb distribution). >> > > To allow jaxb annotations (and annotations only) to be used in >> > > client/shared side, you have to tell the gwt compiler to compile >> those >> > > classes ignoring such annotations while still allow the server side >> to use >> > > them. >> > > Seehttp://code.google.com/p/**google-web-toolkit/issues/** >> detail?id=4020#c8forthe<http://code.google.com/p/google-web-toolkit/issues/detail?id=4020#c8forthe>workaround. >> > >> > > If you are using an XmlAdapter (the class) in client code, move it to >> > > server side (i.e., keep your marshalling/unmmarshalling logic in the >> > > server). >> > >> > > I assumed you are using GWT-RPC of course. With RequestFactory you >> should >> > > have no problem at all. >> > >> > > On Wednesday, June 20, 2012 11:33:54 PM UTC+2, shawnjohnson wrote: >> > >> > >> I am having this issue as well. The annotations are in models in >> our >> > >> 'shared' package - shared between client and server. Anyone know >> what I >> > >> should change to resolve this? >> > >> > >> On Thursday, December 30, 2010 1:38:27 PM UTC-5, Andrea Boscolo >> wrote: >> > >> > >>> I suppose you are trying to use that annotation on a client side >> > >>> class; javax is not emulated by gwt compiler, so you couldn't use >> it >> > >>> client side. >> > >> > >>> Why not moving the adapter to the server side? Does your client >> really >> > >>> need it? >> > >>> Annotated jaxb classes can be used by the client (with a couple of >> > >>> tweaks and not for all annotations), but marshalling/unmarshalling >> to/ >> > >>> from xml, still need to be handled server side. In this point of >> view, >> > >>> the adapter can be known only to your server. >> > >> > >>> I can tell you the tweak, but first try to move it server side. > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/google-web-toolkit/-/R7LbxAI9W_sJ. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
