我写了一个程序,里面有跟数据库之间的操作,打成jar后发现除了连接数据库以外的其余功能都完好
请问要怎么才能让生成的jar文件连接数据库?
是不是要设置那三个反问数据库的jar包的路径?
知道的大哥请写详细点。
急求。明天就要用了...

解决方案 »

  1.   

    可能是打包出的问题吧,建议用工具打包,访问数据库的JAR包是一定要的程序运行的时候是根据class-path来查找支持库的,所以要将所要用到的库在class-path中设置好。
      

  2.   

    不是打包器的问题
    我就是想知道class-path要怎么写
    然后文件名叫什么
      

  3.   

    jdbc的包也打包到jar中就可以了用fatjar做jar方便,但比较打出来有些大
      

  4.   

    不管大不大,我只要能用
    fatjar的参数具体要怎么设置?
    麻烦说明一下
      

  5.   

    我想你可以引用连接数据库的类的包没有找到吧,把jdbc的包解压后跟你代码放在同一目录下打包
      

  6.   

    fatjar只要选择好你打包后存放的路径和选择启动时运行的类就可以了 别的默认就设置好了把要用的包拷贝到你程序的目录下 classpath写法
    如:classpath .\src\bin\jdts.jar
    .代表你程序所在的路径 后面是你要引用的包
    不用包间要用空格分开 大小写可以不用特别注意
      

  7.   

    是的,要在JAR的MANIFEST.MF的文件中加入:Class-Path: lib/xxxx.jar lib/xxxx.jar
    (多个包间使用一个空格分开,并注意Class-Path:后面也有一个空格,这些都很重要,JAR规范很死~~)在 Main-Class: .. 后加入,最后留两个空行再打成JAR包(一定要留两个空行)。生成好的ABC.jar文件,放在某个目录中,再新建一个lib目录,把那些外部jar拷进去。回到上一层运行 java -jar ABC.jar 就可以了。
      

  8.   

    打包最烦人的,特别是Main-Class:中的定法。启动类前面要有一个空格,后面要有一个回车。
      

  9.   

    java -cp /home/xxx/x1.jar;/home/xxx/jdbcdrivers.jar -jar yourpackage.jar 
      

  10.   

    把jdbc的jar加到classpath里面就可以了
      

  11.   

    不同的虚拟机对jar运行的要求有些差异,IBM比SUN的要求低一些。但只要同时做到以下两点,应该没有问题了。
    (假设在运行的helloworld.jar在当前目录,驱动xxxDBDriver.jar在src/下)1.在manifest.mf中加入:
    Manifest-Version: 1.0
    Class-Path: src/xxxDBDriver.jar 
    Main-Class: yin.test.HelloWorld 2.调用时使用:
    java -cp .;./src;./src/xxxDBDriver.jar -jar helloworld.jar