A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴通 中级黑马   /  2012-9-15 17:03  /  1470 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在E:\java\day22下面有myclass MyMenuDemo.java文件

E:\java\day22>javac -d e:\myclass MyMenuDemo.java
E:\java\day22>cd\
E:\>cd myclass
E:\myclass>jar -cvfm my.jar 1.txt mymenu
标明清单(manifest)
增加:mymenu/(读入= 0) (写出= 0)(存储了 0%)
增加:mymenu/MyMenuDemo$1.class(读入= 564) (写出= 368)(压缩了 34%)
增加:mymenu/MyMenuDemo$2.class(读入= 537) (写出= 355)(压缩了 33%)
增加:mymenu/MyMenuDemo.class(读入= 1537) (写出= 857)(压缩了 44%)

按照老师的做法,在e:\myclass创建1.txt文本,写上Main-Class: mymenu.MyMenuDemo
生成的jar文件怎么双击打开不了?好像还是压缩文件?

3 个回复

倒序浏览
本帖最后由 王红潮 于 2012-9-15 17:22 编辑

Main-Class: [空格]mymenu.MyMenuDemo回车
楼主是否加了空格或者回车
如果这些都没问题,那就是windows系统设置了,工具----》文件夹选项-----》文件类型,看是否有扩展名为jar类型的文件,没有就新建一个,然后点击高级----》新建操作----输入open,并添加javaw路径,例如"D:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*,注意结尾一定要价 -jar,确定即可,图标自己选择。
回复 使用道具 举报
manifest中要写入
输入
Main-Class:你的包名.你的包含main的程序入口类

如果你用的是eclipse可以通过eclipse导出,也可以设置入口程序

然后如果你需要右击选择运行方式,在jre/bin目录下的javaw.exe

对于java7而言,win7系统,需要修改open参数,但是不可以在控制面板中设置
需要通过修改注册表

打开运行--regedit
找到注册表内的\HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command

修改旁边的默认键值
默认为:"C:\Program Files\Java\jre7\bin\javaw.exe" "%1"
修改为:"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1"

回复 使用道具 举报
是的,它是一个压缩包,你完全可以用压缩包工具(WinRAR)打开它
你双击打开不了.jar文件的原因,我想有这么一下几点:
第一, 设置Main-Class时,在Main-Class:后面没有加空格
         如果没有加空格,系统分不清键和值,所以创建.jar文件时会失败

         不过楼主已经创建出来了,显然不是这个问题了,那可能就是下面的问题

第二, 设置Main-Class时,结尾没有加上回车
         如果没有在结尾处加上回车,系统会认为你设置Main-Class没有结束,所以设置失败,就不能加载Main-Class属性字段
         这样能创建.jar文件,但是双击打开的时候就会报错

       Main-Class:后面加空格  和  输出结束后加回车   这些都是固定格式,必须记住
       要查看Main-Class是否设置成功,可以用压缩包工具,比如:WinRAR  打开文件
       然后打开 META-INF 文件夹下的 MANIFEST.MF  文件, 看看是否有 Main-Class字段

第三, .jar文件必须要在本地注册后,才可以使用,你可以在window窗口,工具栏下,打开文件夹选项
         看看文件类型栏中 已注册的文件类型, 是否有JAR文件类型
         如果有,则看看操作是不是使用javaw.exe来执行这个操作的

具体注册方式,视频中有讲解的,楼主查查看自己到底什么原因

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马