yingnian_00
yingnian_00
2011-05-08 11:33
采纳率: 0%
浏览 448
已采纳

导出的jar包不能双击运行只能在cmd下运行

直接用eclipse或者用fat插件打包都不行,不是会当作压缩文件打开,就是双击后说classnotfound什么的,但是cmd下用java -jar xx.jar就可以...为什么...

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • iihero
    iihero 2011-05-08 17:54
    已采纳

    真是太奇怪了,
    你能做一个很小的class, 比如foo.HelloWorld试一下吗?

    最好确定Server那个类是你运行时用的类,为什么不带package前缀呢?这习惯不好。

    点赞 评论
  • suziwen
    suziwen 2011-05-08 11:37

    会不会是你双击JAR包关联的JAVA与命令行执行的JAVA不是同一个JAVA呢?

    点赞 评论
  • suziwen
    suziwen 2011-05-08 11:46

    就是你装了双JDK?

    能否上传一个JAR过来试试?

    点赞 评论
  • iihero
    iihero 2011-05-08 12:43

    你双击jar文件,不是会当作压缩文件打开,就是双击后说classnotfound什么的,
    这说明你系统中的jar文件默认打开方式,可能是winrar,7zip等压缩工具。

    先把这种默认打开方式删除。在工具-->文件夹-->文件类型,找到jar类型,把原来的打开方式删除。然后...

    1、打开“我的电脑”,选择“工具”菜单下的“文件夹选项(0)...”。
    2、在“文件夹选项”对话框中选择“文件类型”选项卡。
    3、点击“新建”按钮,输入文件扩展名“jar”。
    4、点击“确定”按钮后,可以看到已注册的文件类型中新增了JAR文件类型。
    5、点击“高级”按钮,出现“编辑文件类型”窗口。
    6、点击“新建(N)...”按钮,出现“新操作”窗口。将操作命名为“open”,执行操作的应用程序为“D:\Java\jdk1.6.0_12\jre\bin\javaw.exe -jar %1”。
    注:D:\Java\jdk1.6.0_12 为JDK所在目录,根据个人电脑上实际环境设置。
    7、点击“确定”按钮,回到“编辑文件类型”窗口。在操作列表框中有了“open”一项操作。
    8、点击“确定”按钮回到“文件夹选项”窗口, 这时JAR扩展名的详细信息有了变化。
    9、点击“关闭”按钮。这时来双击一个可运行的Jar文件(FileDigest.jar),效果如下:

    点赞 评论
  • redstarofsleep
    redstarofsleep 2011-05-08 12:54

    在eclipse中导出要选择可执行的jar,并且把相关连的jar包一起打入

    点赞 评论
  • iihero
    iihero 2011-05-08 14:57

    [quote]按照你说的改了下,之前我说的那个classnotfound什么的是弹出了个cmd框显示的,该了以后就成了一个错误提示,写着Could not find the main class: D:\Server_fat.jar,可是命名在cmd下可以运行啊...怎么会找不到main class呢... [/quote]
    你的jar里头META-INF下的MANIFEST.MF文件里头应该指定mainclass的。
    如:
    Main-Class: hexdb.Application

    点赞 评论
  • iihero
    iihero 2011-05-08 15:57

    [quote]是呀~我用的fat插件他自动给我生成,刚才也打开看了,有的,是对的...为毛他还说找不到...
    [/quote]
    你双击的那个jar是否还依赖别的jar,要是依赖的话,得把那些jar中的class文件统统打进来。
    sigh。

    你能顺便帖一下你的manifest.mf文件的完整内容吗?

    这个问题挺简单的。

    点赞 评论
  • iihero
    iihero 2011-05-08 17:43

    [quote]我当然是打了呀...用fat的好处就是可以打进外部包嘛...
    manifest内容:
    Manifest-Version: 1.0
    Created-By: Fat Jar Eclipse Plug-In
    Main-Class: Server
    [/quote]

    你的main类是Server?

    点赞 评论
  • huazhizui
    huazhizui 2012-12-25 20:03

    敢问你的eclipse是否是juno版?
    我用juno版打包出来也不可运行,
    换个以前的版本就行了

    点赞 评论

相关推荐