记录背景:
初次在eclipse上搭建Maven项目,使用POM导入jar后,运行项目的test文件,会出现某个jar不能被加载,或者被加载了但是里面的某个class不能被加载情况,,一次偶然的机会,发现,这样的问题只需要在POM文件中不能加载出问题的jar 在本地仓库中找到相应的版本的jar或邻近版本的jar 手动的写在 pom.xml的位置上,就行了。
例如在这个项目中示例的jar就出现了 上边描述的问题,,所以我就可以在这个位置 修改下 ↓ ↓ ↓:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
这样问题解决!!
出现此问题的原因:
有可能是网络的原因,导致jar根据POM的配置下载时,下载的不完全,或者本地仓库存在该版本jar的残存包,这样就导致了 pom不再从中央仓库下载了,而是优先使用本地的残jar包, 所以也就导致了 jar包不能被Maven项目编译,或者某个class加载不上的问题了。