最近受到女朋友的哥哥的请求,帮他做一个学生信息管理系统,但因为java +swing这种窗口话程序现已逐渐被web取代,并且本人也只是个有着3年工作经验的大白,swing+JFrame也只是在学校玩过,实在没有底气说能立刻帮他开发出来,于是就在网上找到了别的大神免费分享的项目代码拷贝下来了,并略作修改,将其打包成exe程序留作使用。其间因为项目打成jar文件后一直提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver(找不到数据库连接驱动)。虽然知道是这个驱动的jar文件没有正确引用到的问题,但是网上并没有找到和我有类似经历的大神,故在此特意记录,希望以后能帮助到和我遇到相同问题的同行们。
第一步:网上找到了这位大神免费分享的源码,真是万分感谢:https://blog.youkuaiyun.com/qq_36282404/article/details/80600705(如果发现这位大神分享的链接失效了,可以和我联系,我可以分享给你)
第二步:源码下载好后,解压,先把里面的sql文件转换成本地的mysql数据库。并用myexclipse将项目引用进来。
导入后项目结构是这样的,而且无任何报错
修改jdbc配置文件改成自己的数据库后,执行执行main函数
直接成功
第三步:新建MANIFEST.MF文件
这里会遇到两个问题:
第一个,成功打成jar后,运行jar文件,图片出不来,
第二个,运行起来后,报错连接不到数据库,就是上面提到的找不到数据库连接驱动文件。
先说第二个问题,由于项目需要引用外部的jar包,所以需要为我们的项目事先写好MANIFEST.MF(,文件作用,可自行百度,这里步过多解释,主要是声明该文件的版本,引用外部jar的路径,和指定程序入口类)
第四步:开始打jar
上面是我打的jar,这时,你如果直接该路径下cmd,java -jar test1.jar 回车,应该运行不起来,你需要像我一样在同一个目录下创建上图三个文件夹,image文件夹存放项目中image文件下的所有文件;jre文件下存放你本地的安装的jdk目录下的jre文件夹下所有的文件,lib文件夹则存放项目中引用到 的三个外部jar包。然后执行jar文件将解决所有问题,
下一步就可以愉快的用工具转成exe了,转exe我不做描述,百度上有很多,这里感谢这位大神的分享。你们可以参考:
https://blog.youkuaiyun.com/zclcqlove/article/details/79141232
若有不明白的地方,可以下面留言,我会及时回复。