2012-09-14 77 views
1

您好我正在使用eclipse indigo和glassfish 3.1.2,並且在部署我的web應用程序時出現此異常。我加入了最新的彈簧網絡3.0.2.RELEASE.jar到我的構建路徑也,但問題依然存在:這裏是例外在部署期間發生錯誤JSF-Spring應用程序

cannot Deploy jsfspring 
Deployment Error for module: jsfspring: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener. Please see server.log for more details. 

這是異常詳細信息:

SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5332) 
    at com.sun.enterprise.web.WebModule.start(WebModule.java:498) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733) 
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018) 
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669) 
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109) 
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) 
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) 
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461) 
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212) 
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179) 
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at org.apache.catalina.core.StandardContext.addListener(StandardContext.java:2743) 
    at org.apache.catalina.core.StandardContext.addApplicationListener(StandardContext.java:1966) 
    at com.sun.enterprise.web.TomcatDeploymentConfig.configureApplicationListener(TomcatDeploymentConfig.java:235) 
    at com.sun.enterprise.web.TomcatDeploymentConfig.configureWebModule(TomcatDeploymentConfig.java:94) 
    at com.sun.enterprise.web.WebModuleContextConfig.start(WebModuleContextConfig.java:274) 
    at com.sun.enterprise.web.WebModuleContextConfig.lifecycleEvent(WebModuleContextConfig.java:172) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:149) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5329) 
    ... 39 more 
Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) 
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359) 
    at org.apache.catalina.core.StandardContext.loadListener(StandardContext.java:4806) 
    at com.sun.enterprise.web.WebModule.loadListener(WebModule.java:1599) 
    at org.apache.catalina.core.StandardContext.addListener(StandardContext.java:2740) 
    ... 46 more 

WARNING: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:921) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733) 
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018) 
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669) 
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109) 
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) 
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) 
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461) 
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212) 
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179) 
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:722) 

SEVERE: Exception while invoking class com.sun.enterprise.web.WebApplication start method 
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138) 
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) 
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) 
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461) 
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212) 
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179) 
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) 
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849) 
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746) 
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045) 
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) 
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
    at java.lang.Thread.run(Thread.java:722) 

SEVERE: Exception while loading the app 
SEVERE: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 

回答

2

您的glassfish是否運行與您的項目相同的Java版本?我在1.6上運行glassfish時遇到了這個問題,但我的項目使用了1.7。檢查你的java環境變量。使用您的項目需要的Java版本重新啓動glassfish。

+0

沒有幫助我的情況 – ACV

0

也許您的庫不會部署到服務器。如果庫已正確部署,請在glassfish內檢查。

here也。

+0

好吧,讓我試試它與maven ... – user1626766

2

正如answers的人提到,和posts

對於它的價值,運行在Eclipse中的彈簧的應用程序可以是一個 非常令人沮喪的經歷,尤其是在最新 和最偉大的堅持時, + maven。我發現Maven的依賴不是 包含在WEB-INF/lib中,除非項目配置爲 所示的附加屏幕。願它爲您節省寶貴的開發時間! 快樂黑客!!! !

Eclipse添加:
轉到項目屬性>部署大會>添加>Java構建路徑條目
選擇Maven依賴

Eclipse Deployment Assembly

1

我使用netbeans 7.3 + glassfish 3.1.2.2 + spring 3.2.2 + maven。 在我的項目升級到春天3.2.2的過程中有類似的錯誤「... java.lang.IllegalStateException:ContainerBase.addChild ..等等等等」 歷史上我的本地.m2文件夾是舊的春天3.0.7髒,3.1.1等

經過一些升級後,我的project.war:WEB-INF/lib變成了完整的spring 3.0.7,3.1.1,3.2.2副本。

解決方案在5月份的情況是:

  1. 確保所有的依賴性有合適的版本(基於彈性件3.2.2 )
  2. 乾淨行家/.m2(至少 庫/組織/ springframework的)
  3. 乾淨的項目或刪除目標構建 文件夾。

看一下project.war:WEB-INF/lib - 在我的戰爭中,所有的spring庫都是3.2.2版本,而glassfish部署是OK的。

0

僅適用於可能會遇到此異常的人員,這也可能由返回JAX-WS不支持的類型的Web服務方法引起。在我的情況下,我有一個返回HashMap的方法,它不受JAX-WS支持。 「JAX-WS將Java編程語言類型映射到XML定義和從XML定義映射到JAXB。應用程序開發人員不需要知道這些映射的細節,但應該知道,並非Java語言中的每個類都可以在JAX-WS中用作方法參數或返回類型。「

未來

我們的模式到Java的映射列表:

**XML Schema Type** **Java Data Type** 

    xsd:string java.lang.String 
    xsd:integer java.math.BigInteger 
    xsd:int int 
    xsd.long long 
    xsd:short short 
    xsd:decimal java.math.BigDecimal 
    xsd:float float 
    xsd:double double 
    xsd:boolean boolean 
    xsd:byte byte 
    xsd:QName javax.xml.namespace.QName 
    xsd:dateTime javax.xml.datatype.XMLGregorianCalendar 
    xsd:base64Binary byte[] 
    xsd:hexBinary byte[] 
    xsd:unsignedInt long 
    xsd:unsignedShort int 
    xsd:unsignedByte short 
    xsd:time javax.xml.datatype.XMLGregorianCalendar 
    xsd:date javax.xml.datatype.XMLGregorianCalendar 
    xsd:g javax.xml.datatype.XMLGregorianCalendar 
    xsd:anySimpleType java.lang.Object 
    xsd:anySimpleType java.lang.String 
    xsd:duration javax.xml.datatype.Duration 
    xsd:NOTATION javax.xml.namespace.QName 

Java到模式映射

Java Class XML Data Type 
java.lang.String xs:string 
java.math.BigInteger xs:integer 
java.math.BigDecimal xs:decimal 
java.util.Calendar xs:dateTime 
java.util.Date xs:dateTime 
javax.xml.namespace.QName xs:QName 
java.net.URI xs:string 
javax.xml.datatype.XMLGregorianCalendar xs:anySimpleType 
javax.xml.datatype.Duration xs:duration 
java.lang.Object xs:anyType 
java.awt.Image xs:base64Binary 
javax.activation.DataHandler xs:base64Binary 
javax.xml.transform.Source xs:base64Binary 
java.util.UUID xs:string 

,如果你的網絡上的返回值方法未在上面列出,您必須找到解決辦法。

相關問題