2013-03-11 13 views
5

Sto usando una Tiles 3.0.1 insieme a Spring 3.2.1, ma non funziona, funziona bene con tiles 2.2.2. L'ho trovato come un problema comune, voglio sapere se c'è qualcosa per farlo funzionare.Spring 3.2.1 insieme a Tiles 3.0.1 non funziona?

ottengo il seguente errore mentre ho cambiato mattonelle per 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"] 

Si prega di suggerire se possibile o no?

risposta

10

ho fatta lavorare con piastrelle 3 ..

Questi i vasetti richiesti:

  1. piastrelle-api 3.0.1 vaso
  2. piastrelle-nucleo 3.0.1 vaso
  3. piastrelle -jsp 3.0.1 jar
  4. tile-request-api 1.0.1 jar
  5. vaso commons-digest 2.0 2.0
  6. commons-beanutils 1.8.0 vaso

e aggiungere il fagiolo follwing nella tua classe speditore:

<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> 

funziona per me, io sono in grado di leggere la definizione piastrelle e mostrando la vista. .try this

+0

Ha funzionato con solo 1) tile-api 2) tiles-core 3) tiles-jsp per me. Grazie per aver mostrato i cambiamenti nelle definizioni dei fagioli. –

+2

Sembra che se si dispone di tiles3, è necessario almeno spring3.2.1. Se usi Maven e inserisci tiles-core, tiles-jsp e tiles-api, gli altri jar sono dipendenze transitorie e vengono avanti per la corsa. – ksnortum

+0

ha funzionato per me con Spring 4.0.1.Release – Vivek

4

Ha funzionato per me con solo tile-api, tile-core, tiles-jsp dependencies. Assicurati di fare riferimento a TilesConfigurer dal pacchetto tiles3 invece di tiles2. Non sono stato in grado di capire fino a quando non ho capito che stavo usando la versione di tiles3.

+0

oro! aggiornato alla versione 3.0.3, ma nella configurazione dispatcher-servlet.xml avevo ancora le tiles2 TilesViewResolver e TilesConfigurer –

Problemi correlati