问题描述:
项目目录结构
└─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!请问这是咋回事呢?
项目目录结构
└─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!请问这是咋回事呢?
你说指定到empress的安装路径去找其jdbc的驱动?
那样的话,如果数据库empress的安装路径不同,岂不是要改程序?
汗,当然是放到jar里面好啊。
http://community.csdn.net/Expert/TopicView3.asp?id=5585995
类似。
我已经在那里回答过了。你可以把数据库驱动拷到 %JAVA_HOME%/jre1.5.0_01/lib/ext 目录下就可以了。
不能要求每个客户都自己去下载那个数据库的驱动,然后放到%JAVA_HOME%/jre1.5.0_01/lib/ext吧?
所以还是做成一个包最好啊。
记得以前可以用的,后来咋不行了。另外,再后来又这样了——
请问:java -jar app.jar 可以运行,双击却不能(could not find the main class),为啥?
以前都ok的,做成的jar可执行文件都可以双击运行,后来装了点啥软件,所有的jar可执行文件都不能双击运行了,连sdk里的demo也不行了。
但在命令行用 java -jar app.jar就可以的。
应该是环境变量的问题,具体是啥呢?
谢了先!