Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件。可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Windows中不能用鼠标双击运行(或者双击运行以后使用WinRAR或其他压缩软件打开了),这可怎么办?

1、Win7下的解决方法

注意:无论是Win7还是WinXP,都需要事先下载并安装Java虚拟机。

1)安装好Java虚拟机后,双击需要运行的jar文件或在jar文件上点击鼠标右键,在弹出的菜单中选择“打开方式”→“选择默认程序”。

2)选择JAVA虚拟机的安装文件夹,如果安装的是Java 7,安装文件夹一般为“C:\Program Files\Java\jre7\bin”(具体文件夹请自行查找),找到 javaw.exe 文件,点击“打开”按钮。

3) 这时已经设置了使用javaw.exe应用程序来打开jar文件,可是实际上这时双击jar文件还是没有反应,这是因为没有设置打开文件参数导致的。

4) 在Windows开始菜单的搜索框中输入“regedit”,在上方搜索出的文件regedit上点击鼠标右键,在弹出的菜单中选择“以管理员身份运行”。

5) 在注册表编辑器中,找到“HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command”,在其中文件打开命令中加入参数“-jar”(无引号),修改后的数值类似:“"C:\ProgramFiles\Java\jre7\bin\javaw.exe" -jar "%1"”(只需要添加-jar参数,无需修改其他信息),保存并退出注册表编辑器。

2、XP下的解决办法

1)安装好Java虚拟机后,打开桌面上“我的电脑”,点击菜单“工具”→“文件夹选项”。

2) 在“文件夹选项”设置窗口中切换到“文件类型”标签。找找看其中的文件扩展名有没有.jar,如果有,则选择.jar文件,点击“更改”按钮。如果没有.jar,那么点击“新建”按钮新建一个.jar扩展名。

3) 点击“高级”按钮,在出现“编辑文件类型”窗口中点击“新建”按钮,在弹出的“新操作”设置窗口中,将操作命名为“open”,用于执行操作的应用程序为“C:\ProgramFiles\Java\jre7\bin\javaw.exe" -jar "%1”(请勿填写引号,具体JVM的文件夹路径请根据实际情况填写,一般位于C:\ProgramFiles\Java中)。

4)设置完成后退出保存退出即可。

3、注意事项

1)无论使用Win7还是WinXP操作系统,都需要提前安装Java虚拟机(JVM)。

2)jar是Java可执行程序,其打包格式使用zip格式压缩打包,因此有可能会被某些压缩软件当成压缩包打开,如果双击时使用压缩软件打开了,可以如上文所述修改jar文件的默认打开方式,使其使用Java虚拟机来运行。

3)要使jar文件正常运行,其文件名不能为中文或其他特殊字符,如果按照本文操作还是不能运行,请尝试修改文件名为标准的英文文件名。

4)如果上面的方法还不能解决,则是虚拟机没装好。学习java的人都知道,Jdk是可免安装的,只要一台机器安装了,将java的根目录拷贝到另一台机器,然后配置环境变量即可开发java程序。但此种方法下双击可执行jar程序无法运行java程序,原因是安装jdk的过程中会在系统注册一些信息,直接拷贝的java环境是不具备这些条件的。因此,解决办法是将JDK重装一遍(反正一两分钟就安装了)。

via:http://blog.csdn.net/xinbumocun/article/details/9618251

Windows不能用鼠标双击运行jar文件的更多相关文章

  1. Win7不能用鼠标双击运行jar文件怎么办?

    Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于H ...

  2. java环境的配置——实现win10下双击直接运行jar文件

    java环境的配置--实现win10下双击直接运行jar文件 在渗透测试的过程中很多工具的安装和使用需要java环境,下面我来介绍一下java环境配置的超详细步骤(包含怎样实现win10下双击直接运行 ...

  3. Windows下使用cmd运行jar文件

    一般window系统下是不能直接运行jar文件的.(有些电脑可以,记得我以前的电脑是双击jar就可以运行的) 那么如何在windows下运行jar呢? 1.首先,电脑必须配置java运行环境jre-- ...

  4. 双击打开Jar文件

    最近发现个诡异的问题,java环境变量明明配好了.但是双击xx.jar文件,就是不能直接打开运行. 先想到了第一个解决办法: 运行cmd.exe,cd到jar目录,执行 javaw -jar xxx. ...

  5. 【转】解决ubuntu13.10下,无法双击运行脚本文件

    解决ubuntu13.10下,无法双击运行脚本文件 转自:http://www.aichengxu.com/other/975350.htm    首先,必须先设定好脚本的运行方法,当然如果只是she ...

  6. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  7. 【ant项目构建学习点滴】--(3)打包及运行jar文件

    <?xml version="1.0" encoding="UTF-8"?> <project default="compile&q ...

  8. Linux下sh文件运行及桌面环境双击运行sh文件

    sh文件运行: 1.修改为可执行权限: chmod u+x hello.sh 2.运行 ./hello.sh 3.不使用可执行权限修改,用sh直接运行 sh ./hello.sh 桌面环境双击运行sh ...

  9. SpringBoot Cmd运行Jar文件指定active文件的命令如下

    SpringBoot Cmd运行Jar文件指定active文件的命令如下 SpringBoot 命令行指定配置文件运行 ================================ ©Copyri ...

随机推荐

  1. GameplayKit的GKStateMachine用法与实例

    GKStateMachine 玩家进入GameScene场景中 -> 通过GKStateMachine进入到指定的游戏状态GKState 在GameScene场景中 -> 根据不同的逻辑调 ...

  2. C#-返回相对时间函数

    在公司一直做前端,经理叫我写一个后端函数,要求是: 参数:DateTime--传入任意时间类型返回:string --返回传入参数时间与当前时间的相对时间字符串,如:3天前,1小时前,5分钟前. 注意 ...

  3. 【WXS数据类型】Boolean

    属性: 名称 值类型 说明 [Boolean].constructor [String] 返回值为“Boolean”,表示类型的结构字符串 方法: 原型:[Boolean].toString() 说明 ...

  4. 深入理解java虚拟机学习笔记(二)

    第三章 垃圾收集器与内存分配策略 概述 ​ 程序计数器.虚拟机栈.本地方法栈3个区随线程而生,随线程而灭.因此大体上可认为这几个区域的内存分配和回收都具备确定性.在方法/线程结束时,内存自然就跟着回收 ...

  5. java核心技术 笔记

    一 . 总览 1. 类加载机制:jdk内嵌的class_loader有哪些,类加载过程.--后面需要补充 2. 垃圾收集基本原理,常见的垃圾收集器,各自适用的场景.--后面需要补充 3. 运行时动态编 ...

  6. Sharepoint 2013与Sharepoint 2016的功能对比

    开发人员功能 SharePoint Foundation 2013 SharePoint Server 2013 Standard CAL SharePoint Server 2013 Enterpr ...

  7. Caching Data in the Architecture (C#)

    http://www.asp.net/web-forms/tutorials/data-access/caching-data/caching-data-in-the-architecture-cs ...

  8. Entity Framework 基本概念

    概念 LINQ to Entities 一种 LINQ 技术,使开发人员可以使用 LINQ 表达式和 LINQ 标准查询运算符,针对实体数据模型 (EDM) 对象上下文创建灵活的强类型化查询. ESQ ...

  9. jdk1.8新特性-Lambda表达式使用要点

    前言 在jdk1.8出来的时候看到过,没怎么了解.但是最近再看kafka和spark框架,框架示例中ava版的很多地方用到Lambda表达式,发现使用Lambda表达式代码确实简单了好多,有些例子大致 ...

  10. 自测之Lesson8:进程操作

    题目:请解释wait是如何同步父子进程的. 程序代码: #include <stdio.h> #include <unistd.h> #include <sys/type ...