首页 > 解决方案 > Spring 4 不导入 EhCache

问题描述

在将项目从 Spring 3 迁移到 Spring 4(使用 IntelliJ 和 Maven)时,我遇到了这个导入的 EhCache 包的问题:

错误:(13,40)java:错误:包org.springframework.cache.ehcache不存在

分析问题,我发现 Spring 3 正在导入 ehCache 包,spring-context-support其中包含 maven 的spring-core依赖项。

Spring 4spring-core不包括spring-context-support包含 ehcache 包的包,因此我手动将依赖项添加到 POM 中spring-context-support

pom.xml

  <spring.version>4.3.25.RELEASE</spring.version>
  <ehcache.version>2.5.0</ehcache.version>

  (...)

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
  </dependency>

  (...)

  <dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-core</artifactId>
    <version>${ehcache.version}</version>
  </dependency>

但是,根本没有导入依赖项。仅spring-context导入不包含 ehCache 包的库:

春天 3:

在此处输入图像描述

春天 4

在此处输入图像描述

我尝试过的事情:

我在这里做错了什么?如何将 EhCache 与 spring 4 和 maven 一起使用?

标签: springmavenintellij-ideaehcache

解决方案


我认为ehcache依赖应该是

<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>3.8.1</version>
</dependency>

当您在此处查看时,表明该工件已移至上述工件。

在此处输入图像描述

在此处输入图像描述


推荐阅读