我用Eclipse直接导出jar包
其中manifest.mf中的信息已设置成:
Manifest-Version: 1.0
Class-Path: *.jar (注:*为我的jar包的名称)
Main-Class: *但为什么双击jar包之后还是不能自运行呢?
而jdk下的demo中的jar包却可以双击自运行的。搞了好久了,还是没有搞定,请各位大虾帮忙。

解决方案 »

  1.   

    Main-Class: *
    应该是:Main-Class: *.class
      

  2.   

    to: zzhzzh204553
    不是的
    确实应该是Main-Class: *
      

  3.   

    to: cuixiping
    jar包的路径是什么意思啊?
      

  4.   

    ...Main-Class: YourClass.class
    一定要的。
    不然它会说找不到MainClass
      

  5.   

    to:  hifan(Hifan On Line)
    Main-Class 确实是需要的
    但参数 MyClass 却不需要后缀 .class
      

  6.   

    Class-Path: *.jar 
    这里的 xxx.jar 是 你打的这个 jar 外面的其他的 jar ,
    xxx.jar 不是 在 打包后的 jar 里面。听明白了么?/package/SomeThing.class
    /META-INF/MANIFEST.MF
    /abc.jar如果你导出的 jar 是上面的这样的结构,
    那么 你的 Manifest.mf 中如果 class-path 中使用 abc.jar 本身也在 打包后的 jar 里面的话,
    那么就找不到 abc.jar ,因为 class-path 是到文件系统中找,而不会到 jar 里面找。
      

  7.   

    上面的那个目录结构 解决办法就是 把 abc.jar 不放到 jar 里面,而是 和 你打包后的 jar 放在同一个目录下就行了。
      

  8.   

    to:  humanity
    我明白你的意思了。
    但是问题还是没有解决。
    事实上,
    我的manifest.mf里面用不着写Class-Path的,
    因为我的程序并没有调用其他的jar包。
    只是因为我不能双击运行,我才加上它来试一试的。
    我现在把Class-Path删了,
    但问题依旧。大家帮帮忙啊。
      

  9.   

    Main-Class: *.class
    这个错了, Main-Class  就像是你的 dos 命令行一样, 你不可能 
    abc*.exe  这样来运行一串命令,你只能指定一个  带有 Main 方法的 Class ( 带包名的) 。还要记住 每个条目冒号后面应该有个空格,class-path 长度不超过每行 70 个英文字符,如果多了就换行,而且确保换行后  行首有一个 空格, 整个文件的最后又一个换行符。
      

  10.   

    嗯,首先谢谢huimanity
    但我确实与您说的一样。
    但还是不行啊。
    我把我的目录结构以及manifest.mf的内容贴出来吧。
    /MapGraph/SomeClassFiles.class
    /META-INF/manifest.mf
    /some_resource.*manifest.mf:
    Manifest-Version: 1.0
    Created-By: Fe
    Main-Class: MapGraph.GraphMain注:我是用Eclipse直接将工程export的。会不会是这个原因啊?
      

  11.   

    将你的jar解开,看看里面的mf和你的mf文件是否一致
      

  12.   

    to: kingfish
    确实一致。
    因为我就是从我的jar包里面拷过来的。
      

  13.   

    Manifest-Version: 1.0
    Main-Class: drawsmart.lingtu.AppMain这个是一个可以运行的jar文件的MF内容,使用JB打包的,不知道Eclipse打包是否和这个区别很大
      

  14.   

    如果这样配置了还是双击不可以运行,那么在命令行方式下面执行看看抛出什么异常.
    这样应该可以找到带有main方法的类,如果还是运行不了,估计是那个main函数运行出错,这样在命令行方式下面就可以看到了
    还有如果引用了其他的jar包,看看打包的时候是不是也打进去了