2013-03-11 8 views
5

Ich benutze eine Tiles 3.0.1 zusammen mit Spring 3.2.1, aber es funktioniert nicht, funktioniert gut mit Kacheln 2.2.2. Ich fand es als ein häufiges Problem, möchte wissen, ob es etwas gibt, um es zum Laufen zu bringen.Frühling 3.2.1 zusammen mit Fliesen 3.0.1 funktioniert nicht?

ich die folgende Fehlermeldung erhalten, während ich Fliesen geändert 3.0.1

java.lang.NoClassDefFoundError: org/apache/tiles/startup/BasicTilesInitializer 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(Unknown Source) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) 
    at java.lang.Class.getDeclaredConstructors(Unknown Source) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:230) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:976) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: org.apache.tiles.startup.BasicTilesInitializer 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    ... 36 more 
Mar 11, 2013 1:49:32 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Mar 11, 2013 1:49:32 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/gzl-client-web] startup failed due to previous errors 
Mar 11, 2013 1:49:32 PM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
Mar 11, 2013 1:49:32 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Mar 11, 2013 1:49:32 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 

Bitte legen nahe, wenn sie möglich oder nicht?

Antwort

10

Ich habe es mit Fliesen arbeiten 3 ..

folgen die Gläser benötigt:

  1. Fliesen-api 3.0.1 jar
  2. Fliesen-Core 3.0.1 jar
  3. Fliesen -jsp 3.0.1 jar
  4. Fliesen-Anfrage-api 1.0.1 jar
  5. commons-Kocher 2.0 jar
  6. commons-Beanutils 1.8.0 jar

und die follwing Bohne in der Dispatcher-Klasse hinzufügen:

<bean id="tilesviewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/> 
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
    <list> 
    <value>/WEB-INF/views/**/tiles.xml</value> 
     <value>/WEB-INF/layouts/tiles.xml</value> 
    </list> 
    </property> 
</bean> 
    </beans> 

es funktioniert für mich, ich bin in der Lage, die Fliesen Definition und zeigt den Blick zu lesen. .try this

+0

Es funktionierte mit nur 1) Fliesen-api 2) Fliesen-Kern 3) Fliesen-Jsp für mich. Danke, dass Sie die Änderungen in den Beans-Definitionen angezeigt haben. –

+2

Es scheint, dass wenn Sie tiles3 haben, Sie mindestens Frühling3.2.1 brauchen. Wenn Sie Maven verwenden und Kacheln-Kern, Kacheln-Jsp und Kacheln-Api ziehen, dann sind die anderen Kisten vorübergehende Abhängigkeiten und kommen für die Fahrt mit. – ksnortum

+0

arbeitete für mich mit Spring 4.0.1.Release – Vivek

4

Es funktionierte für mich mit nur Kacheln-api, Kacheln-Kern, Kacheln-Jsp Abhängigkeiten. Stellen Sie sicher, dass Sie sich auf TilesConfigurer aus dem Paket "tiles3" anstatt aus "tiles2" beziehen. Ich konnte nicht herausfinden, bis ich realisierte, dass ich die Version von Kacheln3 verwendete.

+0

gold! Ich habe Kacheln auf 3.0.3 aktualisiert, aber in meiner Dispatcher-Servlet.xml-Konfiguration hatte ich immer noch die TilesViewResolver und TilesConfigurer –

Verwandte Themen