Проблема при попытке развернуть веб-приложение GWT в Jboss
У меня странная ошибка: я создал веб-приложение, используя gin,Presenter и dispatcher, а затем успешно развернул его в JBoss, но при попытке развернуть его на сервере процессов я последовал тем же путем, скопировав папку war и включив в нее файл application.xml, который выполнялся под jboss я получаю ошибку
Ошибка при настройке прослушивателя приложения класса com.wellsfargo.coredevelopment.server.guice.MyGuiceServletConfig java.lang.NoClassDefFoundError: com/google/inject/servlet/ GuiceServletContextListener в java.lang.ClassLojl..defineClassCond(ClassLoader.java:632) в java.lang.ClassLoader.defineClass(ClassLoader.java:616) в java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) в java.net.URLlassLoader (Class Java: 283) на java.net.URLClassLoader.access$000(URLClassLoader.java:58) на java.net.URLClassLoader$1.run(URLClassLoader.java:197) на java.security.AccessController.doPrivileged(собственный метод) на Java.net.URLClassLoader.findClass(URLClassLoader.java:190) в java.lang.ClassLoader.loadClass(ClassLoader.java:307) в sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) в java.lang.ClassLoader.loadClass(ClassLoader.java:296) в org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java: 190) в org.jboss.mx.loading.ClassLoadingTask $ThreadTask.run(ClassLoadingTask.java:131) в org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399) jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java: 517) в org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java: 405) в java.lang.Classjoader.loadCoader (class) в java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627) в java.lang.ClassLoader.loadClass (ClassLoader.java:296) в java.lang.ClassLoader.loadClass(ClassLoader.java:248) в org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java: 3711) в org.apache.catalina.core.StandardContext.start(StandardContext.java: 4211) в org.apache.catalina.core.ContainerBase.addChildInternal Container (759) в org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 739) в org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 524) а t sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) в sun.reflect.DelegatingMethodAccessorImpl.intho.jj.jj.invoke(Method.java:597) в org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java: 503) в org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java: 164) или jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) в org.apache.catalina.core.StandardContext.init(StandardContext.java: 5052) в sun.reflect.NativeMethodAccessorImpl. refle.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 39) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) в java.lang.reflect.Meke.inj.inj.inj.inj.inj.inj.inj.injj.injj.inj.jpv..modeler.BaseModelMBean.invoke (BaseModelMBean.java: 503) в org.jboss.mx.server.RawDynamicInvoker.inv oke (RawDynamicInvoker.java: 164) по адресу org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) по адресу org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployiner 29 или Tomjat (incat).jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java: 103) в org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java: 371) в org.jboss.web.WebModule (модуль Web):83) в org.jboss.web.WebModule.startService(WebModule.java:61) в org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java: 289) в org.jboss.system.SuPort Java: 245) в sun.reflect.GeneratedMethodAccessor11.invoke(неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) в java.lang.reflect.Method.javag7).jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) в org.jboss.mx.server.Invocation.dispatch(Вызов.java:94) в org.jboss.mx.server.Invocation.invoke(Invocation.java:86) в org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) в org.jboss.mx. server.MBeanServerImpl.invoke (MBeanServerImpl.java: 659) в org.jboss.system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) в $Proxy0.start(неизвестный источник) в org.jboss.sroller (ServiceController.java: 417) по адресу sun.reflect.GeneratedMethodAccessor17.invoke(неизвестный источник) по адресу sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) по адресу java.lang.refj.jj) в org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) в org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) в org.jboss.mx.server.Invocation. invoke (Invocation.java:86) в org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) в org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java 65: at 65) boss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) по адресу $Proxy29.start(неизвестный источник) по адресу org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java: 466) по адресу sun.reflect.Nativeormpl. (Нативный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) в javafl.) в org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) в org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) в org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java: 133) в org.jboss.mx.server.Invocation.invoke(Invocation.java:88) в org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.javag: 142).mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java: 97) в org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java: 238) по адресу org.jboss.ws.integration.jboss.DeployerInterceptor.start(DeployerInterceptor.java: 92) по адресу org.jboss.deployment.SubDeployerInterceptorSupport $XM_DextInServer (18).jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java: 95) в org.jboss.mx.server.Invocation.invoke(Invocation.java:88) в org.jboss.mx.server.AbstractMBeanInvoker.jke (Abstract.BeanInvoker.jke: 264) в org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) в org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) в $Proxy30.art в org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) в org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015) в org.jboss.deployment.MainDeployer.deploy(MainDeploy.19)) в org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) в sun.reflect.GeneratedMethodAccessor55.invoke(неизвестный источник) в sun.re flect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 25) в java.lang.reflect.Method.invoke(Method.java:597) в org.jboss.mx.interceptor.ReflectedDispatcher.invoke (155) в рефлекторном отражении (отражен).jboss.mx.server.Invocation.dispatch (Invocation.java:94) в org.jboss.mx.interceptor.AbstractInterceptor.invoke (AbstractInterceptor.java: 133) в org.jboss.mx.server.Invocation.invoke (Invocation.java: 88) в org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java: 142) в org.jboss.mx.server.Invocation.invoke(Invocation.java:88) в org.jboss.mx. server.AbstractMBeanInvoker.invoke (AbstractMBeanInvoker.java: 264) по адресу org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) по адресу org.jboss.mx.util.MBeanProxyEx (MBeanProxy) по адресу $Proxy9.deploy(неизвестный источник) по адресу org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java: 421) по адресу org.jboss.deployment.scanner.URLDeploymentScanner.s можно (URLDeploymentScanner.java: 634) по адресу org.jboss.deployment.scanner.AbstractDeploymentScanner $ScannerThread.doScan(AbstractDeploymentScanner.java:263) по адресу org.jboss.deployment.scanner.AbstractDeploymentScanner.startjan или 337 Abstract Abstract..jboss.system.ServiceMBeanSupport.jbossInternalStart (ServiceMBeanSupport.java: 289) по адресу org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java: 242).invoke (DelegatingMethodAccessorImpl.java: 25) в java.lang.reflect.Method.invoke(Method.java:597) в org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) в org.jss. mx.server.Invocation.dispatch (Invocation.java:94) в org.jboss.mx.server.Invocation.invoke(Invocation.java:86) в org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) в org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServer Impl.java: 659) в org.jboss.system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) в $Proxy0.start(неизвестный источник) в org.jboss.system.ServiceController.start(ServiceController.java: 417) at sun.reflect.GeneratedMethodAccessor17.invoke(неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) в java.lang.reflect.Method.invoke (Method.java59: orbo.java: 59 mx.interceptor.ReflectedDispatcher.invoke (ReflectedDispatcher.java: 155) в org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) в org.jboss.mx.server.Invocation.invoke (Invocation.java: 86) в org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) в org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) в org.ess.mss.invoke (MBeanProxyExt.java:210) по адресу $Proxy4.start(неизвестный источник) по адресу org.jboss.deployment.SARDeployer.start(SARDeployer.java:302) по адресу org.jboss.deployment.MainDeployer.start (MainDeployer. Java: 1025) в org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) в org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) в org.jboss.deployment.MainDeployerDp.java:766) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) в sun.reflect.DelegatingMethodAmport.jpg lang.reflect.Method.invoke(Method.java:597) в org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) в org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) в org.jboss.mx.interceptor.AbstractInterceptor.invoke (AbstractInterceptor.java: 133) в org.jboss.mx.server.Invocation.invoke(Invocation.java:88) в org.jboss.mx.interceptor.ModelMBeanOperationInter.invoke (ModelMBeanOperationInterceptor.java: 142) в org.jboss.mx.server.Invocation.invoke(Invocation.java:88) в org.jboss.mx.server.AbstractMBean Invoker.invoke (AbstractMBeanInvoker.java: 264) в org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) в org.jboss.mx.util.MBeanProxyExt.invoke (MBeanProxy: $ejProxy Proxy5.deploy(Неизвестный источник) в org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) в org.jboss.system.server.ServerImpl.start(ServerImpl.java:362) в org.jboss.Main.boot(Main.java:200) в org.jboss.Main$1.run(Main.java:490) в java.lang.Thread.run(Thread.java:662) Причина: java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceServletContextListener в java.net.URLClassLoader$1.run(URLClassLoader.java:202) в java.security.AccessController.doPrivileged(собственный метод) в java.net.URLClassLoader.findClass: UR 190) в java.lang.ClassLoader.loadClass(ClassLoader.java:307) в sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) в java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Папки jar в моей библиотеке: aopalliance.jar gin.jar guice-2.0.jar guice-servlet-2.0.jar gwt-dispatch-1.0.0-snapshot.jar gwt-log-2.6.2.jar gwt-Presenter-1.0.0-snapshot.jar gwt-servlet.jar
Я протестировал приложение-приветствие samle, предоставленное Google, и оно успешно развернуто на моем сервере процессов....
и структура класса
import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.servlet.GuiceServletContextListener;
открытый класс MyGuiceServletConfig extends GuiceServletContextListener {
@Override
protected Injector getInjector() {
return Guice.createInjector(new ServerModule(), new
DispatchServletModule ()); }}
1 ответ
Вы убедились, что перечисленные вами классы на самом деле либо
- в войне файлы WEB-INF/lib/ папка
- или в папке lib экземпляра appservers (например, server/default/lib)?