我们不希望在命令行中执行jar文件,因为太麻烦,
在安装了虚拟机(java(TM))的机器上可以使用虚拟机(java(TM))运行jar文件,双击即可运行,
如果是图形化界面,使用虚拟机(java(TM))很方便,
不过这种方式对于控制台程序来说,
会导致程序运行时不会弹出命令行窗口,无法进行输入输出,
也就是点了之后没反应,
为了解决这个问题,可以使用如下批处理文件解决,
假如要运行的是一个123.jar文件,文件位于C盘Users目录下,
则可以用文本文件保存以下内容:
java -jar C:\Users\123.jar
pause
将文件名改为run.bat
双击run.bat文件即可,
不过这样的话每一个jar文件都需要一个bat文件。
可不可以偷一下懒呢?
当然可以。
用文本文件保存以下内容:
java -jar %1
pause
将文件名改为run.bat
随便找一个jar文件,
右键-打开方式-选择默认程序-浏览(找到这个run.bat文件)-确认,
如果在很长一段时间内你都只想写控制台程序,
那么你可以将其作为jar文件的默认打开方式,
以后随便双击哪个jar文件都可以自动使用这个bat文件来运行,
其实有心人可以发现,所谓批处理就是把命令行的命令写到文件中,
形成一个批处理程序,是程序,就可以成为windows系统支持的默认打开方式,
就不用那么麻烦的打开命令行了。
使用这种方法运行jar文件,即使加上@echo off也一样会弹出命令行窗口,
如果运行图形化界面的jar文件,旁边摆着一个命令行窗口会很不爽,
呵呵,所以对于图形化界面的jar文件,还是用虚拟机(java(TM))打开吧。
有些人比较贪心比较懒,不仅要求双击就可以运行jar程序,
还要求能够识别图形化界面和控制台程序,自动选择打开方式。
首先,判断一个jar文件是控制台程序还是图形化界面程序就是一个问题,
其次,windows系统也不支持同样的文件格式使用两种不同的默认打开方式,
最多在打开方式列表里面多加几项罢了。
我觉得可能的方式是:
1.写一个程序来判断一个jar文件是控制台程序还是图形化界面程序,
2.由这个程序分情况调用java(TM)或者run.bat来运行jar程序。
顺便说一句,没有安装运行环境或者环境变量配置错误的孩子,
使用这种方法也不能解决问题,
归根结底,都是在java虚拟机(Jvm)上运行。
在安装了虚拟机(java(TM))的机器上可以使用虚拟机(java(TM))运行jar文件,双击即可运行,
如果是图形化界面,使用虚拟机(java(TM))很方便,
不过这种方式对于控制台程序来说,
会导致程序运行时不会弹出命令行窗口,无法进行输入输出,
也就是点了之后没反应,
为了解决这个问题,可以使用如下批处理文件解决,
假如要运行的是一个123.jar文件,文件位于C盘Users目录下,
则可以用文本文件保存以下内容:
java -jar C:\Users\123.jar
pause
将文件名改为run.bat
双击run.bat文件即可,
不过这样的话每一个jar文件都需要一个bat文件。
可不可以偷一下懒呢?
当然可以。
用文本文件保存以下内容:
java -jar %1
pause
将文件名改为run.bat
随便找一个jar文件,
右键-打开方式-选择默认程序-浏览(找到这个run.bat文件)-确认,
如果在很长一段时间内你都只想写控制台程序,
那么你可以将其作为jar文件的默认打开方式,
以后随便双击哪个jar文件都可以自动使用这个bat文件来运行,
其实有心人可以发现,所谓批处理就是把命令行的命令写到文件中,
形成一个批处理程序,是程序,就可以成为windows系统支持的默认打开方式,
就不用那么麻烦的打开命令行了。
使用这种方法运行jar文件,即使加上@echo off也一样会弹出命令行窗口,
如果运行图形化界面的jar文件,旁边摆着一个命令行窗口会很不爽,
呵呵,所以对于图形化界面的jar文件,还是用虚拟机(java(TM))打开吧。
有些人比较贪心比较懒,不仅要求双击就可以运行jar程序,
还要求能够识别图形化界面和控制台程序,自动选择打开方式。
首先,判断一个jar文件是控制台程序还是图形化界面程序就是一个问题,
其次,windows系统也不支持同样的文件格式使用两种不同的默认打开方式,
最多在打开方式列表里面多加几项罢了。
我觉得可能的方式是:
1.写一个程序来判断一个jar文件是控制台程序还是图形化界面程序,
2.由这个程序分情况调用java(TM)或者run.bat来运行jar程序。
顺便说一句,没有安装运行环境或者环境变量配置错误的孩子,
使用这种方法也不能解决问题,
归根结底,都是在java虚拟机(Jvm)上运行。