日期:2014-05-20  浏览次数:20945 次

请问:把数据库驱动empressJDBC_cat4.jar打包进client.jar,运行client.jar找不到数据库驱动,为啥?
问题描述:
项目目录结构
└─smartAS
        ├─client
        │     ├─bin
        │     ├─gui
        │     ├─icons
        │     └─lib
        └─server
smartAS是最上层的包名。数据库驱动empressJDBC_cat4.jar在client下的lib文件夹里。现在打包命令为:(在smartAS所在目录执行)
jar   cmf   mainclassCL.txt   client.jar   smartAS/client/*

mainclassCL.txt内容为:
Main-Class:   smartAS.client.Client
Class-Path:   smartAS.client.lib.empressJDBC_cat4.jar

但是运行client.jar却找不到数据库驱动!
程序中加载驱动的语句为:
Class.forName( "com.empress.jdbc4.empressDriver ");
//throw   ClassNotFoundException

请问这是咋回事呢?



------解决方案--------------------
请勿将你的驱动jar文件和你的jar文件打到一起

在运行的时候指定classpath到你的驱动jar文件就搞定了
------解决方案--------------------
这个问题怎么和
http://community.csdn.net/Expert/TopicView3.asp?id=5585995
类似。
我已经在那里回答过了。你可以把数据库驱动拷到 %JAVA_HOME%/jre1.5.0_01/lib/ext 目录下就可以了。