我先把自己制作jar的过程说一说,我写的程序是简单的学生成绩管理,用的数据库是SQL Server2000.
我先配置程序的库文件,在Tools→Configure→Libraries→User Home里面新建了一个Library文件,就是SQL Server2000的数据库驱动,名字叫JdbcDriver,然后我再把加入到了Required Libraries里面.然后制作jar文件,过程如下:
先选择File→new→Archive→Application,然后我按照下面的步骤生成jar文件: 
第一步:默认
第二步:选择Include   all   classes   and   resources
第三步:默认(在这一步右边的选框里面的Library选项JBuilder自动选择了刚刚添加的JdbcDriver,而Dependency Rule里面我选择的是Include All).
第四步:默认
第五步:选择运行的主类(我编写的main函数在Main类中)
第六步:默认
第七步:默认
第八步:默认
然后点击完成,在生成的jar程序Application上点击右键,在快捷菜单中选择”Make”,就生成了一个jar文件,可是我双击运行后,点击”登录”按钮,我的”登录”按钮事件是连接数据库,并读取数据库的用户表,弹出系统主界面,但是弹出Java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriverde的异常,我知道这是语句 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");所产生的,可是我在项目里面编译运行是好好的啊,而且已经在配置里面添加了数据库驱动啊,为什么运行jar文件还会产生这样的错误?

解决方案 »

  1.   

    这是我在论坛里搜到的类似问题的回复:
    "JB中的项目引入了其他的jar例如数据库驱动,你打包的jar在控制台执行的时候没有找到class,应该把需要的jar加入到classpath中,这个问题比较基础建议加强基础知识,起步时最好不要依赖ide工具"
    我的classpath是这样的:classpath:.;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Java\jdk1.5.0_07\lib
    已经加入了数据库驱动的jar包了啊!
      

  2.   

    把那3个jar文件放到java_home\jre\lib\ext下
    http://www.10zhizui.cn
      

  3.   

    问题已经解决,但不是上面的原因,我把那3个jar文件拷贝到了工程编译产生的classes文件下面再一起打包就好了,可是现在想要将生成的jar文件做成.exe文件时,在new→Executable JAR弹出的对话框中选择JAR文件时为什么选择不了刚刚生成的JAR文件呢?难道生成的不是真正的jar文件吗?