当前位置: 首页 > 知识库问答 >
问题:

Spring 4不导入EhCache

章哲茂
2023-03-14

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

错误:(13,40)java:Error:package-org。springframework。隐藏物ehcache不存在

分析这个问题时,我发现Spring 3正在从Spring上下文支持导入ehCache包,它包含在maven的Spring核心依赖项中。

Spring 4的Spring核心不包括Spring上下文支持,它包含ehcache包,因此我手动将Spring上下文支持的依赖项添加到POM中,如下所示:

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上下文lib被导入,其中不包含ehCache包:

Spring3:

Spring4

我尝试过的事情:

  • mvn清洁安装
  • 使用IntelliJ重新导入maven依赖项
  • 删除。idea文件夹并重新启动IntelliJ以强制依赖项导入
  • 删除。m2文件夹

我做错了什么?如何在spring 4和maven中使用EhCache?

共有2个答案

袁炳
2023-03-14

最可能的解释是你的Maven设置不正确。

你能在添加了spring上下文支持的项目中运行mvn dependencies:tree吗?

这将告诉你Maven是否看到了这种依赖性。如果没有,我会检查您编辑的文件和您正在测试的项目。

涂承运
2023-03-14

我认为对于ehache,依赖关系应该是

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

当你勾选这里时,它表明工件已经移动到上面提到的那个位置。

 类似资料:
  • 2.1 Spring4-对象装配 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation

  • 我已经从4.0升级了Spring版本。从x到4.2.3(刚才是4.2.4),@RequestBody注释中的“required=false”属性突然无法按预期工作(在版本更改之前)。 HttpStatus 415的服务器响应-不支持的媒体类型。 控制器方法(每个Spring版本相同)。 实际上,这并不是问题,因为从客户端开始,避免发送null,例如,设置empty实例就足以修复它。但我想了解,这个

  • 我无法让Log4j2在日志文件上写入Spring和Spring Security日志消息(后者我绝对需要解决一个问题)。我在这里和其他地方读了很多(当然,就像在Spring参考中),但我无法使我找到的解决方案适用于我的案例。 需要注意的是,在下面的两个解决方案中,地雷日志记录消息和hibernate消息都正确地写入了文件。该问题只影响Spring消息。 据我所知,Spring使用jcl(commo

  • 就这样。它安装后,我可以导入statsmodels,但不能导入statsmodels。api不导入。我试着用pip和conda安装,它们都给了我版本0.9。0,一切都很好。我已经安装了所有的依赖项,statsmodels可以工作,但是statsmodels。api没有。 导入statsmodels。api回溯(最后一次调用):文件“”,第1行,在文件“C:\Users\user\AppData\L

  • 我对eclipse、java以及几乎所有与此问题相关的东西都是新手。。 我试图编写一个minecraft Bukkit插件real basic,但它似乎没有正确导入Bukkit jar。我使用了Bukkit构建工具,从目标文件夹中获得了插口文件和Bukkit。以下是屏幕截图:

  • 根据Spring网站上的这个教程,我知道了如何使用Stomp和Spring4建立一个基于WebSocket的应用程序。在客户端,我们有: 在服务器端,控制器中有以下内容: 现在,我明白了确保如果消息发送到目标,那么将调用方法。由于订阅了,将消息发送回。 那么,有什么方法可以用Spring4、SockJS和没有跺脚的情况下做到这一点呢?还是Spring4WebSocket只支持stomp?