Java 如何使jar文件在双击后执行

Java 如何使jar文件在双击后执行,java,Java,我还有一个问题——当我从命令行以java-jar name.jar的形式调用我的.jar文件时,它就会工作 但当我在Windows7的桌面上双击它时,它不会启动。。。 此外,当我试图通过单击鼠标右键“open with”并选择Java(TM)SE platform binary来启动它时,它也不会启动 如何通过双击启动?显然,.jar扩展名与计算机上的javaw.exe没有关联 为此,请在命令行窗口中运行以下两个命令: ftype jarfile="C:\Program Files\Java\j

我还有一个问题——当我从命令行以java-jar name.jar的形式调用我的.jar文件时,它就会工作 但当我在Windows7的桌面上双击它时,它不会启动。。。 此外,当我试图通过单击鼠标右键“open with”并选择Java(TM)SE platform binary来启动它时,它也不会启动
如何通过双击启动?

显然,
.jar
扩展名与计算机上的
javaw.exe
没有关联

为此,请在命令行窗口中运行以下两个命令:

ftype jarfile="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*
assoc .jar jarfile
(将javaw.exe的路径调整为安装路径)

您应该使用具有管理权限的帐户运行此操作,因为这将更新globel注册表

编辑(在评论之后):

由于Java7还没有普及,您应该使用编译器开关
-target 1.6
重新编译源代码,或者从一开始就使用Java6编译它们。您的jar文件也应该使用Java6

我这样做了,但问题仍然存在。当我双击启动程序时,命令窗口将出现半秒,因此我看不到那里写了什么,这是“系统无法找到或加载主类”的绝对路径“…位这很奇怪,因为jar肯定是从cmd运行的,并且有main class:Program的清单\n如果出现命令行窗口,那么您将jar文件链接到java.exe而不是javaw.exe。您的jar文件是否需要其他jar文件?您的清单中指定的完整类路径可能有问题。不,我的jar中没有其他jar…在清单中只有主类:users.metropolia.Program-这是指定的内容,没有其他内容…问题不是您的jar中是否有其他jar(无论如何都不起作用),问题是:它需要其他库吗?不,除了最初的javax.swing、javax.awt和java.util之外,没有其他库