2014-06-16 29 views
0

我现在面临一个很难得到一个Spring项目,在Adobe CQ5运行,这是我的堆栈跟踪抛出java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener在Adobe CQ5

ERROR [定时器3] org.apache.catalina.core.ContainerBase。[Catalina]。[localhost]。[/ springws]配置类org.springframework.web.context.ContextLoaderListener的应用程序监听器时出错java.lang.ClassNotFoundException:org。 springframework.web.context.ContextLoaderListener at java.net.URLClassLoader $ 1.run(Unknown Source) at java.net.URLClassLoader $ 1.run(Unknown Source) (未知来源) at java.net.FactoryURLClassLoader.loadClass(Unknown Source)在java.lang.ClassLoader.loadClass(未知源) ) at java.lang.ClassLoader.loadClass(Unknown Source) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712) at org.apache.catalina.core.StandardContext.start(StandardContext。 java:4216) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) at org.apache。 catalina.core.StandardHost.addChild(StandardHost.java:544) 在org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer.startCatalinaContext(TomcatWarDeployer.java:144) 在org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer.startDeployment(TomcatWarDeployer.java:133) 在org.springframework.osgi.web.deployer.support.AbstractWarDeployer.deploy(AbstractWarDeployer.java:93) at org.springframework.osgi.web.extender.internal.activator.WarLoaderListener $ DeploymentManager $ DeployTask.doRun(WarLoaderListener.java: 257) 在org.springframework.osgi.web.extender.internal.activator.WarLoaderListener $ $的DeploymentManager BaseTask.run(WarLoaderListener.java:215) 在org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java: 70) at java.util.TimerThread.mainLoop(Unknown Source) 在java.util.TimerThread.run(未知来源)

web.xml文件是

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/osgi-context.xml</param-value> 
</context-param> 
<context-param> 
    <param-name>contextClass</param-name> 
    <param-value> 
org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext 
    </param-value> 
</context-param> 
<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 
<servlet> 
    <servlet-name>springmvc</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>2</load-on-startup> 
    <init-param> 
     <param-name>contextClass</param-name>                  
     <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value> 
    </init-param> 
    </servlet> 
<servlet-mapping> 
    <servlet-name>springmvc</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

POM文件是

<properties> 
    <springdm.version>1.2.0</springdm.version> 
    <spring.version>2.5.6</spring.version> 
    <equinox.version>3.5.1.R35x_v20090827</equinox.version> 
     <felix.bundle.plugin.version>2.0.1</felix.bundle.plugin.version> 
</properties> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.4.3</version> 
      <configuration> 
       <!-- need to fork otherwise some tests contexts are shared --> 
       <forkMode>always</forkMode> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <version>${felix.bundle.plugin.version}</version> 
      <extensions>true</extensions> 
      <configuration> 
       <!-- manifestLocation>META-INF</manifestLocation --> 
       <instructions> 

        <!-- <Private-Package>com.manning.sdmia.web</Private-Package> --> 
        <Import-Package> 
         org.springframework.stereotype;version="2.5.6", 
         org.springframework.ui;version="2.5.6", 
         org.springframework.web.bind.annotation;version="2.5.6", 
         org.springframework.web.servlet.view;version="2.5.6", 
         org.springframework.beans.factory.annotation;version="2.5.6", 
         org.springframework.osgi.web.context.support" 

        </Import-Package> 
        <Include-Resource>src/main/resources,src/main/webapp</Include-Resource> 
        <Web-ContextPath>springws</Web-ContextPath> 
       </instructions> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.osgi</groupId> 
     <artifactId>spring-osgi-annotation</artifactId> 
     <version>${springdm.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.0.5.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>org.springframework.web</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>org.springframework.web.servlet</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency>  

     <dependency> 
<groupId>org.springframework</groupId> 
<artifactId>spring-support</artifactId> 
<version>2.0.8</version> 

上传以下束在Adobe CQ5

322 Spring AOPorg.springframework.aop 3.0.6.RELEASE  Active 
332 Spring ASMorg.springframework.asm 3.0.6.RELEASE  Active 
316 Spring Beansorg.springframework.beans 3.0.6.RELEASE  Active 
317 Spring Contextorg.springframework.context 3.0.6.RELEASE  Active 
312 Spring Coreorg.springframework.core 3.0.6.RELEASE  Active 
333 Spring Expression Languageorg.springframework.expression 3.0.6.RELEASE   Active  
339 Spring Web Servletorg.springframework.web.servlet 2.5.6.SEC01  Active 
321 spring-osgi-annotationorg.springframework.osgi.extensions.annotations 1.2.1  Active 
315 spring-osgi-coreorg.springframework.osgi.core 1.2.1  Active 
311 spring-osgi-extenderorg.springframework.osgi.extender 1.2.1  Active 
318 spring-osgi-ioorg.springframework.osgi.io 1.2.1  Active 
336 spring-osgi-weborg.springframework.osgi.web 1.2.1  Active 
337 spring-osgi-web-extenderorg.springframework.osgi.web.extender 1.2.1  Active 
249 svnkit bundlecom.day.commons.osgi.wrapper.svnkit 1.3.0.0002  Active 

我是否需要上传任何其他包? 如果您还需要完整的项目代码,请告诉我。试着用不同的选项,但面临着同样的问题提前

回答

0

谢谢我不知道你在使用它CQ/AEM的版本,你在哪里放置web.xml中。所以我假设你正在使用CQ 5.4。

您已经将OSGi容器和Web上的Spring bundle上传了。xml是WebContainer的默认桥接,这意味着Web容器将无法识别OSGi容器上的任何包。

你可能不得不考虑Spring DM/Eclipse Gemini(蓝图)来达到你的目的。请参考Spring DM DocumentationEclipse Gemini Blueprints Documentation开始集成Spring和OSGi。如果你在Spring DM和Eclipse Gemini之间,你也可以参考article

相关问题