pom文件添加了依赖,java类却无法引用问题

本文介绍了解决IDEA开发环境中,使用JUnit和Spring Test进行数据库测试时,IDEA自动引用最新版本JAR而非POM文件指定版本的问题。通过调整依赖范围(scope)设置,成功实现对指定版本JAR的正确引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个demo项目里,想搞一个junit测试单元,用spring-test和mybatis连接数据库进行CRUD操作。 无奈,添加了dependency之后,总是无法引用jar。

环境jdk是1.7的。用idea开发工具,

用idea的提示引用后总是引用最新版本的jar。环境配置的junit和spring-test版本如下

alt+enter自动添加后,总是默认添加最新版本

看下引入的jar版本:

变成鸟最新的jar,然后运行测试类报错。。。

jdk版本太低,不可能改变jdk版本。

为啥老是引入最新版本,而不能使用pom中已存在jar呢?

看下图:

 

注意scope标签,这个标签是只能在test package下才能引用此jar包,而我的测试类路径如下:

两种方法,一种是去掉depedency中的scope标签,另一种是将测试类放到scope包含的package下。

这里去掉scope标签。

运行结果:

终于出来了。

 

转载于:https://my.oschina.net/u/2301293/blog/1839440

当你在Maven项目中遇到`pom.xml`文件不到依赖项`java.avalation`的情况时,这通常表示你在`pom.xml`配置文件中的 `<dependencies>` 部分引用了一个不存在或者拼写错误的依赖包名。`java.avalation`可能是`java.validation`的误拼,这是Java Bean Validation框架的一部分。 以下是可能出现的问题和解决步骤: 1. **检查包名**: 确认依赖库名称是否正确。如果是`javax.validation`而不是`java.avalation`,请修正它。 ```xml <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> <!-- 或者你所需的版本 --> </dependency> ``` 2. **添加中央仓库**: 如果你使用的依赖库尚未添加到你的`pom.xml`的`repositories`部分,需要添加中央Maven仓库(如Maven Central Repository)。 ```xml <repository> <id>central</id> <url>https://repo1.maven.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> ``` 3. **更新本地存储**: 如果你之前从其他源下载过这个依赖,确认你的本地存储库已包含该依赖。运行`mvn dependency:resolve`命令来更新本地存储。 4. **清理并重新构建**:尝试清理项目 (`mvn clean`) 并重新构建 (`mvn install`),这会确保所有依赖都被正确地下载和安装。 5. **检查版本冲突**: 如果有多个依赖声明了相同的依赖,可能会导致版本冲突。检查是否有重复的`dependencyManagement`块,并确保每个模块使用的是期望的版本。 如果你仍然无法解决问题,可以检查是否有网络连接问题、Maven版本是否最新,以及是否有其他的环境变量设置问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值