If you manually create the Async interface you must disable the generateAsync goal in the plugin configuration
2009/10/30 Ivan Martinez <[email protected]> > Hello all, > I have a GWT service with the following interface: > > > package es.mycompany.myapp.client; > > import java.util.Date; > > import es.mycompany.myapp.client.modelo.Area; > import es.mycompany.myapp.client.modelo.ComercialCorporate; > import es.mycompany.myapp.client.modelo.Tienda; > import com.google.gwt.user.client.rpc.AsyncCallback; > > public interface DirectorioTiendasServiceAsync { > > public void areas(Date fecha, AsyncCallback<Area[]> callback); > > public void tiendas(Date fecha, AsyncCallback<Tienda[]> callback); > > public void comercialesCorporate(Date fecha, > AsyncCallback<ComercialCorporate[]> callback); > } > > > Compiling with org.codehaus.mojo:gwt-maven-plugin:1.0:compile works > fine, but when I try to do a Maven package I get: > > D:\Documents and Settings\martini06\Mis documentos\Mis proyectos\DT\3 > - > Construcción\myapp\src\main\java\es\mycompany\myapp\client\DirectorioTiendasServiceAsync.java:[11,7] > duplicate class: > es.mycompany.myapp.client.DirectorioTiendasServiceAsync > > D:\Documents and Settings\martini06\Mis documentos\Mis proyectos\DT\3 > - > Construcción\myapp\src\main\java\es\mycompany\myapp\client\paneles\TablaAreas.java:[62,36] > > areas(java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.Area>) > in es.mycompany.myapp.client.DirectorioTiendasServiceAsync cannot be > applied to > (java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.Area[]>) > > D:\Documents and Settings\martini06\Mis documentos\Mis proyectos\DT\3 > - > Construcción\myapp\src\main\java\es\mycompany\myapp\client\paneles\TablaTiendas.java:[90,36] > > tiendas(java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.Tienda>) > in es.mycompany.myapp.client.DirectorioTiendasServiceAsync cannot be > applied to > (java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.Tienda[]>) > > D:\Documents and Settings\martini06\Mis documentos\Mis proyectos\DT\3 > - > Construcción\myapp\src\main\java\es\mycompany\myapp\client\paneles\TablaComercialesCorporate.java:[67,36] > > comercialesCorporate(java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.ComercialCorporate>) > in es.mycompany.myapp.client.DirectorioTiendasServiceAsync cannot be > applied to > (java.util.Date,com.google.gwt.user.client.rpc.AsyncCallback<es.mycompany.myapp.client.modelo.ComercialCorporate[]>) > > > I have found that the definition of DirectorioTiendasServiceAsync in > target/generated-sources... is as follows: > > > package es.mycompany.myapp.client; > > import java.util.Date; > import com.google.gwt.core.client.GWT; > import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; > import com.google.gwt.user.client.rpc.ServiceDefTarget; > import es.mycompany.myapp.client.modelo.Area; > import es.mycompany.myapp.client.modelo.ComercialCorporate; > import es.mycompany.myapp.client.modelo.Tienda; > import com.google.gwt.core.client.GWT; > import com.google.gwt.user.client.rpc.AsyncCallback; > import com.google.gwt.user.client.rpc.ServiceDefTarget; > > public interface DirectorioTiendasServiceAsync > { > > /** > * GWT-RPC service asynchronous (client-side) interface > * @see es.mycompany.myapp.client.DirectorioTiendasService > */ > void areas( java.util.Date fecha, AsyncCallback<Area> callback ); > > /** > * GWT-RPC service asynchronous (client-side) interface > * @see es.mycompany.myapp.client.DirectorioTiendasService > */ > void tiendas( java.util.Date fecha, AsyncCallback<Tienda> callback ); > > /** > * GWT-RPC service asynchronous (client-side) interface > * @see es.mycompany.myapp.client.DirectorioTiendasService > */ > void comercialesCorporate( java.util.Date fecha, > AsyncCallback<ComercialCorporate> callback ); > > /** > * Utility class to get the RPC Async interface from client-side code > */ > public static class Util > { > private static DirectorioTiendasServiceAsync instance; > > public static DirectorioTiendasServiceAsync getInstance() > { > if ( instance == null ) > { > instance = (DirectorioTiendasServiceAsync) GWT.create( > DirectorioTiendasService.class ); > ServiceDefTarget target = (ServiceDefTarget) instance; > target.setServiceEntryPoint( GWT.getModuleBaseURL() + > "DirectorioTiendasService" ); > } > return instance; > } > } > } > > > I think the cause of the problem is the mismatch in the definition of > the methods in both versions of DirectorioTiendasServiceAsync, the > original one has arrays and the generated one is missing them. The > weird thing is I had this problem before, then I don't know what I did > but it disappeared, and again I don't know why it is here again. Does > anyone know what the problem can be?. Thank you. > Iván Martínez > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >
