Java 我使用驱动程序<;com.mysql.cj.jdbc.Driver>;,但是';junit测试';不断出错
版本 mysql 8.0.18 java 1.8 弹簧5.2.1.释放 junit 4.12 pom.xmlJava 我使用驱动程序<;com.mysql.cj.jdbc.Driver>;,但是';junit测试';不断出错,java,mysql,spring,junit,Java,Mysql,Spring,Junit,版本 mysql 8.0.18 java 1.8 弹簧5.2.1.释放 junit 4.12 pom.xml 4.0.0 com.hj 我认为这个日志来自junit 正在加载类“com.mysql.jdbc.Driver”。这是不赞成的。新的驱动程序类是“com.mysql.cj.jdbc.driver”。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类 我认为这个日志来自“java控制台日志” com.mysql.cj.jdbc。ConnectionImpl@4516af24 我认
4.0.0
com.hj
我认为这个日志来自junit
正在加载类“com.mysql.jdbc.Driver”。这是不赞成的。新的驱动程序类是“com.mysql.cj.jdbc.driver”。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类
我认为这个日志来自“java控制台日志”
com.mysql.cj.jdbc。ConnectionImpl@4516af24
我认为“java”并没有返回错误,但“junit”返回了错误
如何修复“junit”错误或其他问题
===========================================附加======================================
请找到这张IDE图片
此错误导致Class.forName(“com.mysql.cj.jdbc.Driver”)代码>,我认为这意味着MySQLConnectionTest.java类没有错误,但可能某些库有错误
现在我想了解如何修复或更改库
非常感谢大家对此次修复的帮助。
如果我找到了解决这个问题的方法,那么我会更新这篇文章。我相信你的问题在于maven的插件配置。我用下面的代码手动运行了测试,一切似乎都正常。尽管如此,驾驶员警告不应导致任何错误
public class Main {
public static void main(String[] args) {
JUnitCore junit = new JUnitCore();
junit.run(MySQLConnectionTest.class);
}
}
我在test文件夹中运行这个类,使用以下目录结构
src/
test/
java/
Main.java
MySQLConnectionTest.java
由log4jdbc(即记录器库)引起的错误
log4jdbc1.12
使用的是'com.mysql.jdbc.Driver'
,而不是'com.mysql.cj.jdbc.Driver'
但自2013年以来,'log4jdbc'
库没有更新,也没有解决这个问题
总之,'log4jdbc'
不能与MySQL 5.x或更高版本
一起使用
所以我想我需要找到另一个日志库。问题是。。。?控制台下的文本是错误还是警告?你的代码有效吗?考虑删除<代码>类.FoeNoD(驱动程序);<代码>…新的驱动程序类是'com.mysql.cj.jdbc.driver'。您是否尝试替换驱动程序类?@deHaar我删除了class.forName(驱动程序)代码>但没有发生任何事情。@CarlosLópezMarí我如何替换驱动程序类?我是private static final String DRIVER=“com.mysql.jdbc.DRIVER”
toprivate static final String DRIVER=“com.mysql.cj.jdbc.DRIVER”代码>但错误已修复。@Ppojin您可以添加pom.xml吗?也许,您没有mysql连接器?非常感谢您的帮助。我附加并运行您的类,但没有任何更改…;~)。。。我认为这个问题是“junit.Test”或者某些库不支持MySQL 5.x或更高版本。但是测试很好。所以我推迟了这次修复。谢谢你的帮助