关于maven项目连接不上mysql数据库
起初是在学校老师留作业写maven 项目,然后我用javaWeb源码原封不动放在了maven项目里先出现的空指针错误,查了半天其实发现不是空指针错误,我的代码在类中是可以实现链接数据库并对数据库进行操作的,但是在servlet中就链接不上数据库。一直在想是哪的问题,这些对于初学的我来说是在有些超纲,起初以为是版本不适配,我配置的pom中依赖是
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>
然后我的本机MySQL是.37版本,觉得是版本冲突导致链接不上数据库,一系列搜索发现依赖是可以支持.37版本的只好舍弃这个思路
再就是通过代码细化,去追寻到底是哪一步的问题
Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
// 打印驱动类来源路径
System.out.println("驱动类来源: " + clazz.getProtectionDomain().getCodeSource().getLocation());
运行发现输出为空,那其实就知道问题是什么了 就是forName类没有找到,但是知道了问题 怎么解决是另一回事,在我尝试了很久 包括对配置的各种调制下,放弃了这个源码转maven的项目 开了一个新的maven 只写了链接数据库 发现还是一样的问题 连接不上数据库
因此现在代码少,更能容易发现问题,最后发现是maven是需要war包的,而我的项目下是jar包,打包出错倒是tomcat识别不出来
由此就解决了问题 但是我的原项目也是war包 至于该怎么解决,只能留给之后的我了

浙公网安备 33010602011771号