zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/pangblog/p/3318020.html
Copyright © 2011-2022 走看看