看此文前请保证jar包中有至少一个Main方法入口,及图形化的界面。
并保证META-INF/MANIFEST文件中的Main-Class已经指向之前实现的main方法入口。
最近硬盘坏了,于是重新安装了OS,发现拷贝后的jdk或jre(未经安装的版本),不能打开jar文件执行(jdk版本1.6_11),
于是在打开方式中指向了javaw程序,发现无效,并提示"cannot find main class", 与此同时windows把jar类型的文件关联到了指定的javaw程序上,上网找了一通,没有人提及这个问题的解决办法,而显然这个问题又不是由开篇中提到的问题导致的。
于是在注册表中当前用户配置中删除了当前jar类型的定义。但是重新尝试后依然无效。
于是重新安装了jdk,发现这次可以打开jar文件了,并且这次用来打开的程序从打开方式来看仍然是javaw。比较注册表中文件类型的定义,并没有差别。从文件夹选项 -> 文件类型来看终于看到了差别,高级里面的open操作定义如下:
"C:/Program Files/Java/jre6/bin/javaw.exe" -jar "%1" %*
而如果我们自己选择javaw,默认的open操作是没有 -jar参数的,必须手工加进去。
我们知道java启动jar包的参数是 -jar,但是记得以前javaw是可以直接打开jar的,不知什么时候起也需要带有-jar参数了。
所以对于一个拷贝的绿色jre只要修改一下open操作的定义就可以解决上面的问题了。
解决了上面的问题,又产生了新的问题,之前选择打开的javaw程序在打开方式中丢不掉了,比较多余,这个可以在注册表中修改
在HKEY_CLASSES_ROOT/Applications下面找到响应的程序删除就可以了,原来每次用一个程序打开一个类型的文件windows都会在
注册表中这个地方留下相关的记录
相关文章
- idea下导出可执行的jar包并在windows中双击运行的解决方法
- 关于双击jar文件启动命令行的解决方法
- Windows不能双击运行.jar文件的解决办法
- java环境变量配置好后双击jar文件无法运行的解决办法
- .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法
- google Code 上的源码如何下载呢,DownLoad 选项卡里面都是jar文件,Source 选项卡里面只是一个无法打开的网址。
- 浅谈python在提示符下使用open打开文件失败的原因及解决方法
- Windows下MySQL 5.7无法启动的解决方法
- Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
- 解决windows 10无法打开.hlp帮助文件的问题