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

原文地址:https://www.cnblogs.com/pangblog/p/3318020.html