本文主要是介绍eclipse导出的jar包在命令行运行,连接不上数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:这里声明一下,下面所表示的问题是,eclipse导出的jar包在命令行运行时只是连接不上数据库,代码在eclipse中运行是完全可以的,而且在命令行中运行jar包也是可以显示视图界面,但需要调用数据库的时候就会报错。
运行jar包时
登录连接数据库的时
分析:命令行可以运行并且显示视图界面,就说明我们导出jar包的时候填写的清单文件MANIFEST.MF中的Manifesh-Version和Main-Class没有出现错误,自然就是连接数据库所需要的jar包在清单文件中的Class-Pash填写有错,没办法正确调用导致的。
解决办法:将原本连接数据库所需要的jar文件解压,根据java代码中连接数据库时填写的驱动driver找到解压后jar文件的相应文件夹,并把这个文件夹放到与lib的同等目录下,然后在删除lib文件夹,最后将清单文件MANIFEST.MF中的Class-Pash的值改成driver的值即可。比如下面的driver,我们就需要将数据库jar文件解压后的com文件夹复制一份放到与lib的同等目录下。
driver="com.mysql.jdbc.Driver";
url="jdbc:mysql://localhost:3306/mysqldvd";
user="root";
操作之前的jar包里面的目录
操作之后的jar包里面的目录
操作之前清单文件MANIFEST.MF内容
Manifesh-Version: 1.0
Class-Pash: lib.mysql.jar
Main-Class: fei.test.test
操作之后清单文件MANIFEST.MF内容
Manifesh-Version: 1.0
Class-Pash: com.mysql.jdbc.Driver
Main-Class: fei.test.test
可以发现里面已经没有了lib目录,而且清单文件中Class-Pash的值也改为了driver的值
最后重新在命令行运行一下jar包
发现已经可以连接到数据库,登录成功了
以上内容全部是自己亲身经历的,并且经过自己努力探索才找到上面的方案,亲试有效,谢谢~~如果还有其他问题可以评论或者私聊
这篇关于eclipse导出的jar包在命令行运行,连接不上数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!