黑马程序员技术交流社区
标题:
双击可执行jar包
[打印本页]
作者:
吴通
时间:
2012-9-15 17:03
标题:
双击可执行jar包
在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文件怎么双击打开不了?好像还是压缩文件?
作者:
王红潮
时间:
2012-9-15 17:18
本帖最后由 王红潮 于 2012-9-15 17:22 编辑
Main-Class:
[空格]
mymenu.MyMenuDemo
回车
楼主是否加了空格或者回车
如果这些都没问题,那就是windows系统设置了,工具----》文件夹选项-----》文件类型,看是否有扩展名为jar类型的文件,没有就新建一个,然后点击高级----》新建操作----输入open,并添加javaw路径,例如"D:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*,注意结尾一定要价 -jar,确定即可,图标自己选择。
作者:
马睿
时间:
2012-9-15 17:24
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"
作者:
蓝迪
时间:
2012-9-15 17:29
是的,它是一个压缩包,你完全可以用压缩包工具(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来执行这个操作的
具体注册方式,视频中有讲解的,楼主查查看自己到底什么原因
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2