问题备忘: It is indirectly referenced from required .class files

700 阅读1分钟
原文链接: blog.csdn.net

问题描述:
在Maven工程里,明明已经引入相关的类,但是eclipse一直提示没有找到org.springframework.data.redis.core.RedisTemplate类:It is indirectly referenced from required .class files

报错的异常类在这个jar包中:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
</dependency>

解决过程:
1. 查看工程依赖的classpath,确认工程有maven依赖,对应的jar已经下载本地
2. 尝试重启eclipse,重新绑定classpath,尝试各种方法,都无法修复问题
3. 最后删除本地mvn库里spring-data-redis.jar,重新刷新工程强迫工程重新下载jar包(project–>maven–>update project),最后居然成功了

原因分析:
从垃圾桶里找到刚刚删除的jar和刚刚下载的jar进行比较,发现之前下载的异常jar包和正确jar包大小不同。然后尝试对错误的jar包进行解压,提示解压失败,所以结论是:jar摔坏,程序也就无法读取此文件。

这里写图片描述