Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 300|回复: 0

[Java基础知识]java编程技巧两则

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-2 08:21:48 | 显示全部楼层 |阅读模式
    一、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
    1.    运行jar:
    2.   java -jar xxx.jar

    3.   但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。  
    4.       于是很多人说可以这样
    5.       运行class:

    6.       start javaw xx

    7.       运行jar:

    8.       start javaw -jar xxx.jar  

    9.       这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网上很多人说是的.
    10.       对我们这种追求完美的人来说闪一下还是不能接受滴.

    11.       
    12.       于是终极解决方案出现了!

    13.       那就是在批处理第一行加上@echo off

    14.       这样我们的批处理就变成了

    15.       运行class:

    16.       @echo off

    17.       start javaw xx

    18.       运行jar:

    19.       @echo off

    20.       start javaw -jar xxx.jar  

    21.       快试试吧,绝对不闪了。哈哈哈。

    22.       解释一下

    23.        echo off

    24.       表示在此语句后所有运行的命令都不显示命令行本身

    25.       @ 表示运行时不显示本命令行

    26.       
    27.      想当年玩D版游戏的时候,虚拟光驱还是命令行方式的,为了让一个游戏正常运行,
    28. 往往要写很长的批处理,那时候俺这种完美主义者就认识到了@echo off的重要性了。

    29.       呵呵,这件事情证明了妈妈说学好DOS很重要是多么的英明伟大。

    30.       最后怀念一下藏经阁、大草原、老兵。

    31.       N年没买过碟子的人含泪飘过。。。。。。。。。。。。。
    32.                         
    复制代码

       
         
         
          
          

            
          

            
          
         
       

    1.                         
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-16 04:09 , Processed in 0.356892 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表