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:\Users\sanbo\Desktop>java -jar hello.jar
this is HelloWorld.main() C:\Users\sanbo\Desktop>java -jar hello.jar "hello"
this is HelloWorld.main()
the parameter of you send is --->hello C:\Users\sanbo\Desktop>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:\Users\sanbo\Desktop>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:\Users\sanbo\Desktop>java -jar hello.jar //结果呢,结果呢?where is my result~ ^_~
晚安,最近想换工作,祈福。
更多的相信信息,可以看文档:
http://docs.oracle.com/javase/1.3/docs/guide/jar/jar.html
Java__jar包的简单操作的更多相关文章
- Charles抓包工具简单操作
一.界面介绍 1.功能是clear,清理掉所有请求显示信息. 2.功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围 3.功能是开始或暂停 4.显示所抓取的数据包 5.抓取数据包的请求及 ...
- ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ...
- Java网络编程:利用apache的HttpClient包进行http操作
本文介绍如何利用apache的HttpClient包进行http操作,包括get操作和post操作. 一.下面的代码是对HttpClient包的封装,以便于更好的编写应用代码. import java ...
- Spring_boot简单操作数据库
Spring_boot搭配Spring Data JPA简单操作数据库 spring boot 配置文件可以使用yml文件,默认spring boot 会加载resources目录的下的applica ...
- MySQL基本概念以及简单操作
一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...
- HDFS介绍及简单操作
目录 1.HDFS是什么? 2.HDFS设计基础与目标 3.HDFS体系结构 3.1 NameNode(NN)3.2 DataNode(DN)3.3 SecondaryNameNode(SNN)3.4 ...
- ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)
如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...
- zk 06之:ZooKeeper命令、命令行工具及简单操作
常用命令ZooKeeper 支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 ZooK ...
- spark sql的简单操作
测试数据 sparkStu.text zhangxs chenxy wangYr teacher wangx teacher sparksql { ,"job":"che ...
随机推荐
- Android操作HTTP实现和服务器通信
众所周知,Android与服务器通信通常采用HTTP通信方式和Socket通信方式,而HTTP通信方式又分get和post两种方式.至于Socket通信会在以后的博文中介绍. HTTP协议简介: HT ...
- this class is not key value coding-compliant for the key detailItem
我出这个错误是因为,自己的一个视图没有给指定想用的viewController文件..及一个classController控制一个xib文件,忘给该视图指定控制器了.
- 谓词--Predicate
去苹果的的技术官网搜索-Predicate就会找到相关的文档-Predicate Programming Guide 1,创建谓词时 %@是变量时不加单双引号,常量是加单引号,加双引号需要转义符号\ ...
- document.domain与js跨域的问题
以前如果要使iframe里面的脚本能访问parent的内容,但iframe和parent的二级域名相同,那一般都会在两者都写上document.domain="xxx.com" 以 ...
- STL vector使用方法介绍
介绍 这篇文章的目的是为了介绍std::vector,怎样恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...
- C++_01_入门
一.类的定义 Person.h类声明 Person.cpp类实现 main.cpp主函数 二.命名空间的使用 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv ...
- ShareSDK for Android 只有新浪微博分享
本文代码例子:http://pan.baidu.com/share/link?shareid=3710053477&uk=3189484501 ShareSDK 官方的例子非常好,但代码太多看 ...
- Parrot源代码分析之海贼王
我们的目的是找到speedup-example在使用Parrot加速的原因,假设仅仅说它源于Context Switch的降低,有点简单了,它究竟为什么降低了?除了Context Switch外是否还 ...
- C# 中datagridview行里面有三个cheeckbox,要控制成三选一。
我之前有试过在cellendedit中处理,可以达成效果,当不符合用户打单的界面要求.该事件是在单元格编辑结束之后, 当用户选中两个checkbox,且焦点不移开时,界面上会出现有两个checkbox ...
- iOS开发中地图开发的简单应用
iOS上使用地图比Android要方便,只需要新建一个MKMapView,addSubView即可.这次要实现的效果如下: 有标注(大头针),定位,地图. 1.添加地图 1.1 新一个Single V ...