• Java__jar包的简单操作


    工作需要研究了下jar,这里就举个简单的例子,以helloworld为例吧


    1.启动eclipse编写代码:

    次步不做赘述

    package cn.test.jar;
    
    public class HelloWorld {
    
    	public static void main(String[] args) {
    		System.out.println("this is HelloWorld.main()");
    		
    		if (args.length > 0) {  //传参时使用
    			for (String str : args) {
    				System.out.println("the parameter of you send is --->" + str);
    			}
    		}
    	}
    }


    2.编译,拷贝编译出来的文件和支持库

    这里如果使用读写之类的Java类需要把JRE的几个文件全部打包下,不然不能正常运行的。

    (ps:jar的几个包分别是:resources.jar、rt.jar、jsse.jar、jce.jar、charsets.jar、dnsns.jar、localedata.jar、sunjce_provider.jar、sunmscapi.jar、sunpkcs11.jar)




    3.执行打包命令:

    此处是我把我编写出来的代码,和类库打包成一个hello.jar的库

    jar cvf hello.jar cn/* lib/*


    此时桌面会生成一个jar包


    4.修改配置信息

    我们可以压缩包的方式打开jar会发现,霍,多了一个文件夹,这个正是我们需要修改的文件,直接拖拽出来,编辑,然后再塞进去更新包,即可达到修改配置信息的目的;具体步骤看下:



                                                                                                         *粉色部分是我们要修改的配置文件的路径


    打开文件拖出来的MANIFEST.MF文件,编辑打开,发现里面内容如下:

    Manifest-Version: 1.0
    Created-By: 1.6.0_38 (Sun Microsystems Inc.)


    霍,版本信息,第一行是版本1.0,而二个是由谁创建

    我们现在是设置个主类,也就是我们的main函数的哪个类,在设置个支持的jar包路径即可,修改后如下:

    Manifest-Version: 1.0
    Created-By: 1.6.0_38 (Sun Microsystems Inc.)
    Main-Class: cn.test.jar.HelloWorld
    Class-Path: charsets.jar dnsns.jar jce.jar jsse.jar localedata.jar resources.jar rt.jar sunjce_provider.jar sunmscapi.jar sunpkcs11.jar
    

    修改完毕,替换回去



    更新包:


    jar umf MANIFEST.MF hello.jar



    5.运行测试:

    两种方式,一个是可以直接命令行来运行,另一个是新建个可执行脚本语言来执行。【windows是bat脚本,而linux则是sh脚本】

    此处我们就命令行来测试吧。因为我之前main方法中写了接受多参数的方法,我这里也一并测试下,效果如下:


    C:UserssanboDesktop>java -jar hello.jar
    this is HelloWorld.main()
    
    C:UserssanboDesktop>java -jar hello.jar "hello"
    this is HelloWorld.main()
    the parameter of you send is --->hello
    
    C:UserssanboDesktop>java -jar hello.jar "hello" "sanbo"
    this is HelloWorld.main()
    the parameter of you send is --->hello
    the parameter of you send is --->sanbo
    
    C:UserssanboDesktop>java -jar hello.jar "hello" "sanbo" ""
    this is HelloWorld.main()
    the parameter of you send is --->hello
    the parameter of you send is --->sanbo
    the parameter of you send is --->


    ps:如果你代码未进行编译运行过,会出现如下错误,一定注意!

    C:UserssanboDesktop>java -jar hello.jar
                                     
    
    //结果呢,结果呢?where is my result~ ^_~

    晚安,最近想换工作,祈福。


    更多的相信信息,可以看文档:

    http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html

  • 相关阅读:
    安卓面试人人面向源码开发(一)
    Kotlin常见用法
    安卓触摸事件调度顺序
    自定义view 可自动换行滑动的LinearLayout
    屏幕适配那些事一篇带你搞定,出发与结论点独特适合新手。欢迎收藏
    初识位域
    简单区分Vmware的三种网络连接模式(bridged、NAT、host-only)
    刚开始学Python,坚持下去
    FAT AP 与 FIT AP的特点和区别
    BSSID,SSID,ESSID区别
  • 原文地址:https://www.cnblogs.com/pangblog/p/3318020.html
Copyright © 2020-2023  润新知