gin、Presenter、dispatcher を使用して Web アプリケーションを作成し、JBoss に正常にデプロイするという奇妙なエラーが発生しましたが、プロセス サーバーにデプロイしようとしたときに、war フォルダーをコピーし、実行中の application.xml を含めるという同じ方法に従いました。 jbossの下でエラーが発生しています
クラス com.wellsfargo.coredevelopment.server.guice.MyGuiceServletConfig java.lang.NoClassDefFoundError: com/google/inject/servlet/ GuiceServletContextListener の java.lang.ClassLoader.defineClass1(Native Method) の java.lang.ClassLoader のアプリケーション リスナーの構成エラー.defineClassCond(ClassLoader.java:632) で java.lang.ClassLoader.defineClass(ClassLoader.java:616) で java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) で java.net.URLClassLoader.defineClass(URLClassLoader. java:283) で java.net.URLClassLoader.access$000(URLClassLoader.java:58) で java.net.URLClassLoader$1.run(URLClassLoader.java:197) で java.security.AccessController.doPrivileged(Native Method) で 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) で org.jboss.mx. loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java: 517) org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java: 405) で java.lang.ClassLoader.loadClass(ClassLoader.java:296) で java.net org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java: 3711) at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4211) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 759) org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 739) で org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 524) で sun.reflect.NativeMethodAccessorImpl.invoke0(Nativeメソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) で java.lang.reflect.Method.invoke(Method.java:597) でorg.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java: の org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java: 503)164) org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) で org.apache.catalina.core.StandardContext.init(StandardContext.java: 5052) で sun.reflect.NativeMethodAccessorImpl.invoke0(Nativeメソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) で java.lang.reflect.Method.invoke(Method.java:597) でorg.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java: 164) で org.jboss.mx.server.MBeanServerImpl.invoke( MBeanServerImpl.java: 659) org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java: 297) org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java: 103) org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java: 371) で org.jboss.web.WebModule.startModule(WebModule.java:83) で org.jboss.web.WebModule org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java: 289) の .startService(WebModule.java:61) org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java: 245) の sun.reflect.GeneratedMethodAccessor11。 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(java.lang.reflect.Method.invoke(Method.java:597)でsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25)でinvoke(不明なソース) ReflectedDispatcher.java: 155) org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) で org.jboss.mx.server.Invocation で。org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) での invoke(Invocation.java:86) org.jboss での MBeanServerImpl.invoke(MBeanServerImpl.java: 659) .system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.start(不明なソース) at org.jboss.system.ServiceController.start(ServiceController.java: 417) at sun.reflect.GeneratedMethodAccessor17.invoke(不明なソース) 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: 659) org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) $Proxy29.start(未知のソース) org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java: 466) Sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) : 39) org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher. java: 155) org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) で org.jboss.mx.interceptor.AbstractInterceptor で。org.jboss.mx.server.Invocation.invoke(Invocation.java:88) での invoke(AbstractInterceptor.java: 133) org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java: 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 $XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188) で org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java: 95) で org.jboss.mx.server.Invocation. org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) $Proxy30.start(Unknown Source) で) org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) で org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015) で org.jboss.deployment.MainDeployer.deploy(MainDeployer.java: 819) org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) で sun.reflect.GeneratedMethodAccessor55.invoke(不明なソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) で java.lang org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) の .reflect.Method.invoke(Method.java:597) 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.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.MBeanProxyExt.invoke(MBeanProxyExt.java:210) で $Proxy9.deploy (未知のソース) で org.jboss.deployment .scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java: 421) org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java: 634) で org.jboss.deployment.scanner.$ScannerThread.doScan(AbstractDeploymentScanner.java:263) org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java: 336) org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java: 289) .jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java: 245) の sun.reflect.GeneratedMethodAccessor11.invoke(未知のソース) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) の java.lang.reflect.Method org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) の .invoke(Method.java:597) org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) の org. org.jboss.mx.server の jboss.mx.server.Invocation.invoke(Invocation.java:86)。AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) org.jboss.system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) at $ Proxy0.start (未知のソース) org.jboss.system.ServiceController.start (ServiceController.java: 417) で sun.reflect.GeneratedMethodAccessor17.invoke (未知のソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) ) org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) で java.lang.reflect.Method.invoke(Method.java:597) 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.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) で $Proxy4.start(Unknown Source ) 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.MainDeployer.deploy(MainDeployer.java:766) で sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) で sun java.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.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.MBeanProxyExt.invoke(MBeanProxyExt.java:210) で $Proxy5.deploy(未知のソース) で org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) ) org.jboss で。system.server.ServerImpl.start(ServerImpl.java:362) at org.jboss.Main.boot(Main.java:200) at org.jboss.Main$1.run(Main.java:490) at java.lang. Thread.run(Thread.java:662) 原因: java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController .doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java) :301) java.lang.ClassLoader.loadClass(ClassLoader.java:248) でlang.ClassNotFoundException: com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at 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) :248)lang.ClassNotFoundException: com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at 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) :248)loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248)loadClass(Launcher.java:301) at 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
Google が提供する挨拶のサンプル アプリケーションでテストしたところ、プロセス サーバーに正常にデプロイされました。
クラス構造は
com.google.inject.Guice をインポートします。com.google.inject.Injector をインポートします。com.google.inject.servlet.GuiceServletContextListener をインポートします。
public class MyGuiceServletConfig extends GuiceServletContextListener {
@Override
protected Injector getInjector() {
return Guice.createInjector(new ServerModule(), new
DispatchServletModule()); } }