| 
 
TA的每日心情|  | 开心 2021-3-12 23:18
 | 
|---|
 签到天数: 2 天 [LV.1]初来乍到 | 
 
| 
一、jar文件中加入第三方的jar包 大家都知道打java包,需要一个清单文件,MANIFEST.MF,内容无非就是
 
 
 
 Manifest
 -
 Version:
 1.0
 
 Main
 -
 Class: awt.MyGuiImp
 
 实际上,清单文件中还有一个重要的,就是Class-Path,大家一看就知道这个是用来干什么的了,不错,这个就是程序运行的支持库的路径。后来上网查了一下,MANIFEST.MF的具体解释是这样:
 
 打包清单,它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行java应用程序时要根据此文件中给出的信息来查找入口类和支持库.
 
 我们以前只注意了MANIFEST.MF中的入口类,也就是我们常说的主类(有main方法的类),却忽视了支持库。
 
 
 
 Class-Path:指定支持库的路径,"."指程序运行目录,当前目录。程序运行时依据Class-Path
 项的设置路径来查找支持库.每一个支持库之间用空格格开。
 
 自己用到的jar,放入一个文件夹lib,lib就放在和jar包一个文件夹下,清单文件这样写:
 
 
 
 Manifest
 -
 Version:
 1.0
 
 Main
 -
 Class: awt.MyGuiImp
 Class
 -
 Path: .
 /
 lib
 /
 jacob.jar .
 /
 lib
 /
 jdom.jar .
 /
 lib
 /
 log4j.jar
 移到别的计算机,运行jar,就不会出现任何问题了,前提是该计算机必须装jdk.
 
 二、真正最正确的用BAT运行JAVA程序,不显示DOS窗口(连闪一下都不闪)
 作者: 交口称赞。http://www.blogjava.net/vip01/  很多朋友在WINDOWS下会用批处理去启动自己的java程序,
 一般的写法是
 
 运行class:
 java xx
 复制代码   运行jar:  java -jar xxx.jar
  但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。        于是很多人说可以这样
      运行class:
      start javaw xx
      运行jar:
      start javaw -jar xxx.jar  
      这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网上很多人说是的.
      对我们这种追求完美的人来说闪一下还是不能接受滴.
            于是终极解决方案出现了!
      那就是在批处理第一行加上@echo off
      这样我们的批处理就变成了
      运行class:
      @echo off
      start javaw xx
      运行jar:
      @echo off
      start javaw -jar xxx.jar  
      快试试吧,绝对不闪了。哈哈哈。
      解释一下
       echo off
      表示在此语句后所有运行的命令都不显示命令行本身 
      @ 表示运行时不显示本命令行
      
     想当年玩D版游戏的时候,虚拟光驱还是命令行方式的,为了让一个游戏正常运行,往往要写很长的批处理,那时候俺这种完美主义者就认识到了@echo off的重要性了。
      呵呵,这件事情证明了妈妈说学好DOS很重要是多么的英明伟大。
      最后怀念一下藏经阁、大草原、老兵。
      N年没买过碟子的人含泪飘过。。。。。。。。。。。。。
                        
 
 
 
 
 
 
 
 
 
 
 
 
 | 
 |