복붙노트

[SPRING] 스프링이있는 타일 : 오류 발생 - java.lang.ClassNotFoundException : org.apache.tiles.TilesApplicationContext

SPRING

스프링이있는 타일 : 오류 발생 - java.lang.ClassNotFoundException : org.apache.tiles.TilesApplicationContext

저는 봄에 새로운데 봄에 타일을 사용하려고합니다. 하지만 오류가 발생했습니다. 나는 내 프로젝트에서 maven을 사용하고있다. 나는 버전을 바꾸려고했지만 아무 쓸모가 없었다. 다음은 프로젝트의 내용입니다 :

Pom.hml

  <!-- Apache Tiles -->
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-core</artifactId>
        <version>3.0.5</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>3.0.5</version>
    </dependency>

     <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-api</artifactId>
        <version>3.0.5</version>
    </dependency>
     <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-servlet</artifactId>
        <version>3.0.5</version>
    </dependency>
     <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-template</artifactId>
        <version>3.0.5</version>
    </dependency>

servlet-context.xml

  <!-- for Tiles -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver">  
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>            
</bean>

<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer" id="tilesConfigurer">  
    <property name="definitions" value="/WEB-INF/tiles-definitions.xml" />           
</bean>

tiles-definitions.xml

  <?xml version="1.0" encoding="UTF-8"?>
<tiles-definitions>  
    <definition name="base.definition" template="/WEB-INF/views/tilesMainTemplate.jsp">  
        <put-attribute name="title" value=""></put-attribute>  
        <put-attribute name="header" value="/WEB-INF/views/header.jsp"></put-attribute>  
        <put-attribute name="menu" value="/WEB-INF/views/home.jsp"></put-attribute>  
        <put-attribute name="body" value=""></put-attribute>  
        <put-attribute name="footer" value="/WEB-INF/views/footer.jsp"></put-attribute>  
    </definition>  

    <definition extends="base.definition" name="saveAd">  
        <put-attribute name="title" value="Post your free Ad"></put-attribute>  
        <put-attribute name="body" value="/WEB-INF/views/adSave.jsp"></put-attribute>  
    </definition>  


</tiles-definitions>  

다음 MainTemplate, header 및 footer jsp 타일이 있습니다. 나는 어떤 문제도 있다고 생각하지 않습니다. 이와 관련하여 도움이 될 것입니다, 미리 감사드립니다.

해결법

  1. ==============================

    1.마침내 효과가있었습니다! 나는 tiles2를 tiles3로 바꿨다. mck가 올바르게 가리키고 다음 줄을 tiles-definitions.xml에 추가했다.

    마침내 효과가있었습니다! 나는 tiles2를 tiles3로 바꿨다. mck가 올바르게 가리키고 다음 줄을 tiles-definitions.xml에 추가했다.

    <!DOCTYPE tiles-definitions PUBLIC
      "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" 
      "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
    
  2. ==============================

    2.servlet-context.xml에서 tiles2 spring-tiles 통합 클래스를 사용하고 있습니다.

    servlet-context.xml에서 tiles2 spring-tiles 통합 클래스를 사용하고 있습니다.

    대신 org.springframework.web.servlet.view.tiles3에있는 클래스를 사용하십시오.

  3. ==============================

    3.

    use this code if your are using version 3 . based on the version your are using should configure the tiles.
    <bean id="viewResolver"
            class="org.springframework.web.servlet.view.UrlBasedViewResolver">
            <property name="viewClass">
                <value>
                    org.springframework.web.servlet.view.tiles3.TilesView
                </value>
            </property>
        </bean>
        <bean id="tilesConfigurer"
            class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
            <property name="definitions">
                <list>
                    <value>/WEB-INF/estudo-tiles-servlet.xml</value>
                </list>
            </property>
        </bean>
    
  4. ==============================

    4.사용 :

    사용 :

    import org.springframework.web.servlet.view.tiles3.TilesView;
    

    아니:

    import org.springframework.web.servlet.view.tiles2.TilesView;
    
  5. from https://stackoverflow.com/questions/28825528/tiles-with-spring-getting-error-java-lang-classnotfoundexception-org-apache by cc-by-sa and MIT license