Java 如何通过双击Windows7 64位运行.jar文件?

Java 如何通过双击Windows7 64位运行.jar文件?,java,windows-7,jar,Java,Windows 7,Jar,在命令行中运行.jar文件很好,但我无法通过双击Windows7(64)来运行任何.jar文件。双击之后似乎什么也没发生 我尝试了ftype提示,没有成功: ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %* 我重新安装了64位的JDK 7,没有成功 有什么想法吗? 假设您已经加载了JavaJRE和/或JavaSDK,那么 要进行关联,请转到“我的电脑”,单击其中一个驱动器(C:) 显示时,请选择“工具”»

在命令行中运行.jar文件很好,但我无法通过双击Windows7(64)来运行任何.jar文件。双击之后似乎什么也没发生

我尝试了
ftype
提示,没有成功:

ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
我重新安装了64位的JDK 7,没有成功

有什么想法吗?

  • 假设您已经加载了JavaJRE和/或JavaSDK,那么
  • 要进行关联,请转到“我的电脑”,单击其中一个驱动器(
    C:
  • 显示时,请选择“工具”»»“文件夹选项”(或属性…它位于不同的位置,具体取决于Windows版本)
  • 打开Windows资源管理器(只需打开任何文件夹)即可获得“工具”->“文件夹选项”窗口
  • 当您进入“文件夹选项”窗口时,单击“文件类型”选项卡。您应该能够编辑或添加JAR文件(
    .JAR
    扩展名)
  • 更改用于打开JAR文件的程序。在文件选择窗口中,转到安装JRE的文件夹(应该是
    C:/Program Files/Java/…
    ,标记“始终打开”,然后选择
    javaw.exe
    文件

  • 右键单击->打开方式中列出了什么? 是否有其他程序列为默认程序?是否列出Java运行时?如果列出Java运行时,您可以使用它打开,并使其成为运行的默认程序

    右键单击->属性->更改->C:\Program Files\Java\jre7\bin\javaw.exe 对于Windows 7:

  • 启动“控制面板”
  • 单击“默认程序”
  • 单击“将文件类型或协议与特定程序关联”
  • 双击
    .jar
  • 浏览
    C:\ProgramFiles\Java\jre7\bin\javaw.exe
  • 单击“打开”按钮
  • 单击“确定”按钮

  • 我的.jar文件不在双击时打开也有同样的问题。事实证明,我安装了两个版本的Java(Java 6和Java 7)。从“控制面板”->“卸载程序”中卸载Java 6最终允许在不使用命令窗口的情况下双击打开.jar文件。

    您也可以从以下位置运行它:

    如果您尝试:

    对于Windows 7:

  • 启动“控制面板”
  • 单击“默认程序”
  • 单击“将文件类型或协议与特定程序关联”
  • 双击
    .jar
  • 浏览
    C:\ProgramFiles\Java\jre7\bin\javaw.exe
  • 单击“打开”按钮
  • 单击“确定”按钮
  • jar文件仍然无法打开(在我的情况下,就像我从未双击过一样):
    打开命令提示符(为了安全起见,启用了管理员权限),然后键入以下命令:

    java-version
    这应该返回一个版本,这样您就可以安全地假设安装了java

    然后跑

    C:\>assoc .jar=jarfile
    C:\>ftype jarfile="C:\path\to\your\javaw.exe" -jar "%1" %*
    
    java-jar“PATHTOFILE\FILENAME.jar”

    通读生成的输出。您可能会发现一条错误消息。

    最新的JRE为我解决了这个问题


    (即使我以前安装过JDK和JRE。)

    您的问题也可能在Java代码设置中,我的意思是,如果您的程序无法实现主类/主文件(入口点),它将不会启动程序/.jar(特别是在IDE上构建的应用程序)。要在IDE上解决此问题:

    • 右键单击项目>属性>运行>浏览主类>确定。
    • 清理和重建

    现在尝试运行它。希望它有帮助

    如果您以前使用过右键单击并使用\path\to\your\javaw.exe打开,那么您需要删除以下注册表项

    [-HKEY\u CURRENT\u USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]

    然后跑

    C:\>assoc .jar=jarfile
    C:\>ftype jarfile="C:\path\to\your\javaw.exe" -jar "%1" %*
    

    这不是文件关联问题,因为您可以通过命令行正确启动应用程序

    问题是,当您双击关联的文件时,应用程序将启动并以该文件的路径作为基本执行路径运行。将根据文件路径计算任何相对路径,并且您尝试加载的所有内容都可能丢失


    即使使用try/catch(Exception)包围所有入口点代码,也不会发生任何事情,因为java会抛出Throwable而不是Exceptions:要在java入口点中解决这一问题,请使用try/catch(Throwable)包围主方法的内容(异常和错误的基类)和调试。

    我遇到了windows阻止其运行(windows 10 Pro)的问题。右键单击右下角的图标>属性>它可能会告诉您“windows已阻止功能……”。旁边有一个标记为“取消阻止”的复选框>取消选中复选框>应用>选项,块将消失,然后您可以运行它。

    我创建了一个项目,JAR\u Runnr,正是为了这个目的。=)


    将JAR文件的默认应用程序从java_HOME/bin文件夹中的java.exe更改为javaw.exe

    这是因为,java.exe只是控制台应用程序,但JAR文件需要窗口呈现执行。由于javaw.exe是一个窗口应用程序,因此最好将其用于执行JAR文件

    另一种方法是,在某种程度上,您可以使用命令提示符运行JAR文件,只需将java关键字与-JARattrib一起使用即可

  • 创建文件bat(例如openJar.bat)

  • 剪切并粘贴到C:\Program Files\Java\\bin(此步骤不需要,但您应该执行)

  • 右键单击jar文件>属性>选择打开方式(更改按钮)并选择您的文件
  • 双击jar文件以测试它
  • 我必须试试这个:

  • 以管理员身份打开命令提示符
  • 使用
    cd
    命令移动到文件文件夹
  • 键入
    java.exe-jar*filename*.jarC:\>assoc .jar=jarfile
    C:\>ftype jarfile="C:\path\to\your\javaw.exe" -jar "%1" %*
    
    @echo off
    start javaw -jar "%1" %*
    exit
    
    "C:\Program Files\Java\jdk-11.0.1\bin\javaw.exe" -jar "%1" %*
    
    "C:\Program Files\Java\jre1.8.0_191\bin\javaw.exe" -jar "%1" %*