使用批处理运行jar控制台程序

天命剑主 发布于 2013/12/27 16:03
阅读 1K+
收藏 2
   我们不希望在命令行中执行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)上运行。
加载中
返回顶部
顶部