2

我尝试将 Spring MVC 3.1 与 Apache Tile2.2 集成,但我发现了这个错误

Error creating bean with name 'tilesConfigurer' defined in ServletContext resource [/WEB-INF/tiles-context.xml]: Invocation of init method failed

所以我在谷歌中搜索它,我发现 Apache Tile2 结构发生了变化或被弃用,但 spring mvc 3.1 仍然使用旧结构。(有人说我们必须修改类等)

这些是我使用的库:

tiles-api-2.2.2.jar
tiles-core-2.2.2.jar
tiles-el-2.2.2.jar
tiles-jsp-2.2.2.jar
tiles-servlet-2.2.2.jar
tiles-template-2.2.2.jar

附加弹簧MVC

org.springframework.aop-3.1.0.M1.jar
org.springframework.asm-3.1.0.M1.jar
org.springframework.aspects-3.1.0.M1.jar
org.springframework.beans-3.1.0.M1.jar
org.springframework.context.support-3.1.0.M1.jar
org.springframework.context-3.1.0.M1.jar
org.springframework.core-3.1.0.M1.jar
org.springframework.expression-3.1.0.M1.jar
org.springframework.instrument.tomcat-3.1.0.M1.jar
org.springframework.instrument-3.1.0.M1.jar
org.springframework.jdbc-3.1.0.M1.jar
org.springframework.jms-3.1.0.M1.jar
org.springframework.orm-3.1.0.M1.jar
org.springframework.oxm-3.1.0.M1.jar
org.springframework.test-3.1.0.M1.jar
org.springframework.transaction-3.1.0.M1.jar
org.springframework.web.portlet-3.1.0.M1.jar
org.springframework.web.servlet-3.1.0.M1.jar
org.springframework.web.struts-3.1.0.M1.jar
org.springframework.web-3.1.0.M1.jar

任何人都知道我如何解决这个问题?这对我会有用。

4

2 回答 2

3

如果您从 org.springframework.web.servlet.view.tiles3 包导入,您将不会遇到任何贬值的问题,但如果您从 org.springframework.web.servlet.view.tiles2 导入,则会被贬值。我通过更改进口解决了这个问题。配置类

package mum.waa;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesView;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;

@Configuration
public class TilesConfiguration{

public TilesConfigurer tilesConfigurer()
{
    final TilesConfigurer configurer = new TilesConfigurer();
    configurer.setDefinitions(new String[] { "WEB-INF/tiles.xml" });
    configurer.setCheckRefresh(true);
    return configurer;
}

@Bean
public TilesViewResolver tilesViewResolver() {
    final TilesViewResolver resolver = new TilesViewResolver();
    resolver.setViewClass(TilesView.class);
    return resolver;
}

}

依赖项

        <!-- Apache Tiles -->
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-extras</artifactId>
        <version>3.0.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>3.0.7</version>
    </dependency>
    <!-- Apache Tiles -->
于 2017-02-06T16:45:14.447 回答
0

(由 OP 在问题编辑中回答。转换为社区 wiki 答案。请参阅没有答案的问题,但问题在评论中解决(或在聊天中扩展)

OP写道:

解决方案:

这不是错误,因为已弃用它是关于版本不正确的 jar 文件。

我通过为我的 Web 应用程序找到正确的 jar 来解决

这是我的罐子

commons-beanutils-1.8.3.jar
commons-beanutils-bean-collections-1.8.3.jar
commons-beanutils-core-1.8.3.jar
commons-digester-2.1.jar
jcl-over-slf4j-1.6.3.jar
slf4j-api-1.6.3.jar
slf4j-log4j12-1.6.3.jar
tiles-api-2.2.2.jar
tiles-core-2.2.2.jar
tiles-jsp-2.2.2.jar
tiles-servlet-2.2.2.jar

有些人像我一样迷路,Mart

于 2015-01-30T19:27:38.153 回答