First try with Errai 1.3, Gwt 2.3 ... and fail :(
n3k0 Jun 28, 2012 11:32 AMGood night, i have a trouble, like the title says....
Well, the detail, is, the compile looks for a class that does not exist ExtensionsLoaderImpl.
I go to explain.
I created a GWT project in eclipse ( by the way, i`m using jdk 1.6 ), and i copied the next libraries in /war/WEB-INF/lib path:
aopalliance-1.0.jar , dom4j-1.6.1.jar , errai-bus-1.3.0-SNAPSHOT.jar , errai-cdi-client-1.3.0-SNAPSHOT.jar , errai-cdi-jetty-1.3.0-SNAPSHOT.jar
, errai-common-1.3.0-SNAPSHOT.jar , errai-ioc-1.3.0-SNAPSHOT.jar , errai-javax-enterprise-1.3.0-SNAPSHOT.jar , errai-persistence-1.3.0-SNAPSHOT.jar , errai-tools-1.3.0-SNAPSHOT.jar , errai-widgets-1.3.0-SNAPSHOT.jar , google-collections-1.0.jar , guava-r06.jar , guice-2.0-aopalliance.jar , guice-3.0.jar , guice-servlet-2.0.jar , gwt-servlet.jar , hsqldb-1.8.0.7.jar , javassist-3.12.1.GA.jar , javax.inject-1.jar , jsr250-api-1.0.jar , log4j-1.2.14.jar , logback-classic-0.9.27.jar , logback-core-0.9.27.jar , msgpack-0.5.1-devel.jar , mvel2-2.0.18-RC4.jar
, reflections-0.9.6_jboss_errai_r2.jar , reflections.jar , slf4j-api-1.6.1.jar , slf4j-log4j12-1.5.10.jar , xml-apis-1.3.03.jar
After that, i created a directory structure for my example
And the structure is like this:
com.service.errai.login.Login.gwt.xml
com.service.errai.login.client.Login.java
com.service.errai.login.server.TheRemoteServiceImpl.java
com.service.errai.login.shared.TheRemoteService.java
The code is very simple in all of classes and files:
Login.gwt.xml
<module> <inherits name="com.google.gwt.user.User"/> <inherits name="com.google.gwt.user.theme.standard.Standard"/> <inherits name="com.smartgwt.SmartGwt"/> <inherits name="org.jboss.errai.bus.ErraiBus"/> <source path="client"/> <source path="shared"/> <entry-point class="com.service.errai.login.client.Login"/> </module>
Login.java
package com.service.errai.login.client; import org.jboss.errai.bus.client.api.RemoteCallback; import org.jboss.errai.bus.client.api.base.MessageBuilder; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.Window; import com.service.errai.login.shared.TheRemoteService; public class Login implements EntryPoint{ public void onModuleLoad(){ MessageBuilder.createCall(new RemoteCallback<Boolean>() { public void callback(Boolean isHappy) { if (isHappy) Window.alert("Everyone is happy!"); } }, TheRemoteService.class).isEveryoneHappy(); } }
TheRemoteService.java
package com.service.errai.login.shared; import org.jboss.errai.bus.server.annotations.Remote; @Remote public interface TheRemoteService { public boolean isEveryoneHappy(); }
TheRemoteServiceImpl.java
package com.service.errai.login.server; import org.jboss.errai.bus.server.annotations.Service; import com.service.errai.login.shared.TheRemoteService; @Service("TheRemoteService") public class TheRemoteServiceImpl implements TheRemoteService { public boolean isEveryoneHappy() { return true; } }
And that is all about the code, well, when i run the embedded Jetty server, a message appears on the Development Mode console
The message is:
05:46:01.381 [ERROR] [com.service.errai.login.Login] Could not load deferred binding result type 'org.jboss.errai.bus.client.ext.ExtensionsLoaderImpl' java.lang.ClassNotFoundException: org$jboss$errai$bus$client$ext$ExtensionsLoaderImpl at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1054) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:654) at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:458) at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49) at com.google.gwt.core.client.GWT.create(GWT.java:98) at org.jboss.errai.bus.client.api.builder.AbstractRemoteCallBuilder.call(AbstractRemoteCallBuilder.java:56) at org.jboss.errai.bus.client.api.base.MessageBuilder.createCall(MessageBuilder.java:122) at com.service.errai.login.client.Login.onModuleLoad(Login.java:13) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:193) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) at java.lang.Thread.run(Unknown Source)
I checked all of my repository, and the class ExtensionsLoaderImpl does not exist!
Thanks in advance for any guidance on this issue.
Greetings..