我自己写了个项目test,打了个包,运行:
java -jar test.jar
java.lang.NoClassDefFoundError: com/borland/jbcl/layout/XYLayout我把jbcl.jar添加到了环境变量里面,运行:
java test.mainApp
没有错误。请问如何将jbcl.jar这个添加到我的包里面,执行ava -jar test.jar没错误呢?

解决方案 »

  1.   

    每个工程不是有个classpath的文件吗,你可以在里面添加。你也可以在工程属性里面添加,在build path里面添加变量就行了
      

  2.   

    在自己的jar包中的清单文件中 描述外部jar文件位置(外部JAR可以放在相对路径中)
    具体去GOOGLE下
      

  3.   

    我不懂 我是想把那个JAR弄到自己的工程里面来 ,然后传个jar包给别人就能用
    我用的是JBuilder 不知道怎么把那个IMPORT进来刚才Google了下fat,好像那个出来的信息都是用Eclipse有没有不用IDE直接加进去的办法呢?
      

  4.   

    有,笨办法,解压你的jar包和别人的jar包(右键使用winrar解压),比如你的包名:com.sss.zz别人的包名:net.sf.sss
    把com文件夹和net文件夹放在同一目录下一起选中右键,用winrar压成zip格式,再把后缀名改成jar
      

  5.   

    我把我包LibraryManagerSystem和com放在E:Library目录下,
    E:Library下有
                 com
                 LibraryManagerSystem
                 META-INFE:盘下有文件:MANIFEST.MF
    Main-Class: Library.LibraryManagerSystem.MainAppE:jar cvfm Library.jar MANIFEST.MF Library然后运行
    e:java -jar Library.jar报错
    Exception in thread "main" java.lang.NoClassDefFoundError: Library/LibraryManage
    rSystem/MainApp (wrong name: LibraryManagerSystem/MainApp)是不是MANIFEST.MF这个文件内容没对?该怎么改呢
      

  6.   

    不要打到你的 jar 包中。打包时,在 MANIFEST.MF 文件中,在 Main-Class 后指定 Class-Path格式:Class-Path: jbcl.jar注意:冒号后有一个且只能有一个空格,该文件的结尾最少得有两个空行。把 jbcl.jar 和你打包后生成的 test.jar 放在同一目录下,使用 java -jar test.jar 就能运行了。PS:Class-Path 如有多个,当中用空格分开,还可以带上路径,比如:lib/jbcl.jar。
    这样的话 jbcl.jar 与 test.jar 就不能放在同一目录下了,需要放在 lib 子目录下,
    这种方式适用于引用了一堆 jar 的应用程序。