一、制作jar文件

在制作.jar 文件之前你必须先编译好你的.java文件。假设我们的文件目录是c:javamyJavahelloHello.java 
现在假设Hello.java的文件内容为:

/* 

* Hello.java 

*/

public class Hello {

public static void mian(String[] args){

System.out.println("Hello, World !");

}

}

在进行.jar 制作的时候你必须把路径切换到Hello.java 所在的文件目录的外一层文件夹(.jar文件要在Dos才能创建(windows平台)),即myJava 
运行如下的命令可以把当前文件夹下的所有内容都包含在.jar 文件内。

c:javamyJava>jar cf Hello.jar .

说明一下:命令行中 jar 是生成.jar文件的程序的调用接口。 cf 是一对可选项(options)后面的Hello.jar 就是我们给文件取的名字了,最后一个点号(.)指示工具将当前目录下的所有文件都放进jar文件,jar工具进行地归操作,当文件夹中含有不止一个文件时。

二、察看jar文件 
其实,jar文件是采用WinZip 的格式进行文件压缩的,所以你可采用WinZip 解压缩文件的,还可以利用如下的命令行察看:

c:javamyJava>jar tf Hello.jar 
你会看到本地机子里的jvm 的版本以及其生产厂家信息 
还有 Main-Class: Hello.Hello 等信息。

三、把文件移到你喜欢的目录 
假设你想把jar 文件移到目录:d:Java2myFirst 下面,请运行如下的命令: 
d:Java2myFirst> jar xf c:javaHello.jar 
说明一下:jar 文件可以封闭,就意味着指定的包中的每一个类必须包含在同一个目录下。

四:内容清单 manifest.fm 
manifest.fm 文件是由键值对组成的。其中包含前面所说的jvm 的版本号 / 创建他的厂商等。

五、增加清单的内容 
当若我们编辑了如下的一个addContents.txt 文件

Name: myJavaHello 
Sealed: true

则可以通过如下命令把其加入到我们的清单文件中:

c:javamyJava>jar umf addContents.txt Hello.jar

六、运行jar文件

你可以通过以下的方式来运行jar文件: 
c:javamyJava>java -classpath . -jar Hello.jar

说明:需要命令的 -classpath . 部分是因为类的路径环境变量中没有(.)路径。

也可以 
c:javamyJavaHello>java -jar Hello.jar

假如你的电脑是windows XP 版本 你还可以直接到你的c:javamyJavaHello 下双击Hello.jar 文件 但是你看不到运行的结果 
(图形界面程序可以这样运行),在windows 2000 上面,jar 文件被视作.zip 文件所以你一双击他就会把你的文件解压,而不是运行文件。所以你只有采用命令行的方式了。

运行命令之后,你会看到在你的屏幕上显示的 
Hello, World ! 
字样。

结束语:

到这里我们jar 文件的创建和运行等相关的介绍算结束了。你可以试着去验证一下。然后创建复杂的程序,比如具有界面的高级程序。

假如你对jar 文件 很感爱好 或者 想对她有更深刻的了解那么你可以在dos 低下敲入 jar 察看更多的帮助信息和许多options 的解释。

jar 帮组文档内容:

C:>jar

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 
选项: 
-c 创建新的存档 
-t 列出存档内容的列表 
-x 展开存档中的命名的(或所有的〕文件 
-u 更新已存在的存档 
-v 生成具体输出到标准输出上 
-f 指定存档文件名 
-m 包含来自标明文件的标明信息 
-0 只存储方式;未用ZIP压缩格式 
-M 不产生所有项的清单(manifest〕文件 
-i 为指定的jar文件产生索引信息 
-C 改变到指定的目录,并且包含下列文件: 
假如一个文件名是一个目录,它将被递归处理。 
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。 
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中: 
jar cvf classes.jar Foo.class Bar.class 
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有 
文件存档到一个名为 'classes.jar' 的存档文件中: 
jar cvfm classes.jar mymanifest -C foo/ . 
本贴来自ZDNetChina中文社区 http://bbs.zdnet.com.cn ,本贴地址:http://bbs.zdnet.com.cn/viewthread.php?tid=584158

怎么样运行jar的更多相关文章

  1. 不显示cmd窗口运行jar包

    今天,打开导出的jar包,发现并不能运行,查看jar包中的META-INF文件夹下的MANIFEST.MF文件,发现MANIFEST.MF中并没有Main-Class,于是,就手动添加相应的信息,本项 ...

  2. 运行jar应用程序引用其他jar包的四种方法

    转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...

  3. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  4. 可运行jar包生成步骤和jar包的生成

    一.可运行jar包生成步骤 1.进入.class文件所在目录,新建一个记事本文件,假设为1.txt,文件内容: 1> Main-Class:可运行类的名字  (  例如:Main-Class:T ...

  5. IDEA如何打包可运行jar的一个问题。

    转自http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用,发 ...

  6. [Java] 可运行 jar 记录

    在 Eclipse 上,通过 Export 选择 Java 下的 Runnable JAR file ,可以将项目导出一个可执行的 jar 包. 例子如下 1. Eclipse 项目只有一个文件 ma ...

  7. 运行jar应用程序引用其他jar包的四种方法(转)

    Runnable JAR  RunnableJAR(1)在Eclipse中操作 上面的截图中eclipse的版本是: 方案二:安装Eclipse打包插件Fat Jar 方案一对于含有较多第三方jar文 ...

  8. java中关于如何运行jar格式程序的说明

    通常情况下,我们用打包工具如Eclipse的export工具制作的jar包是无法通过鼠标双击来运行的. 此时我们需要启动DOS窗体,在DOS窗体中输入java命令运行程序(前提是你的环境变量class ...

  9. 【ant项目构建学习点滴】--(3)打包及运行jar文件

    <?xml version="1.0" encoding="UTF-8"?> <project default="compile&q ...

  10. Intellij IDEA下导出Java工程的可运行JAR包

    Intellij IDEA下导出Java工程的可运行JAR包 昨天一直向导出一个Java工程的可运行JAR包,然后查阅网上的资料以及自己一遍一遍的尝试,均以失败告终.可以导出JAR包,但是导出的JAR ...

随机推荐

  1. ios端微信浏览器 音乐不自动播放问题

    <audio id=''music src='' preload autoplay loop> <script src="http://res.wx.qq.com/open ...

  2. IIS-代理

    http://192.168.11.3:8083/java   访问  http://192.168.11.3:8089 http://192.168.11.3:8083/?id=1 访问http:/ ...

  3. 对于javaScript中的alert和document.write()的执行顺序的记录

    代码: <script>//1----语句式的匿名函数创建以及调用 (function(name,age){ alert("name:"+name+",age ...

  4. python csv 读写操作

    import csv def read_csvList(path="./datasets/test.csv")->list: """return ...

  5. linux chrome rpm chrome浏览器下载(ver 63-70)

    我的github chrome下载地址:https://github.com/chen1932390299/python 国内开源的资源 chrome下载centos 的:https://www.ch ...

  6. Fedora以root用户自动登陆

    目录 Fedora以root用户自动登陆 参考 配置自动登陆 Fedora以root用户自动登陆 Fedora Workstation Version: 31

  7. 人工智能、大数据、物联网、区块链,四大新科技PK,你更看好谁?

    最近行业中备受关注并且非常火热的产业有哪些呢?小编这边总结了一下,一共有4个,分别是人工智能.大数据.物联网和区块链,这四种新科技也一直是蓄势待发,未来将引领新一代的科技成长,也会带给人类很多更方便快 ...

  8. jmeter录制浏览器Https请求

    Jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书. 那么在jmeter上如何操作呢?且看下面的操作步骤 一.jmeter的代理服务器及证书配置 1.打开jmeter ...

  9. Pandas——数据处理对象

    Pandas中的数据结构 Series: 一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率.就像数据库中的列数据 ...

  10. Keras入门——(7)长短期记忆网络LSTM(四)

    数据准备:http://www.manythings.org/anki/cmn-eng.zip 源代码:https://github.com/pjgao/seq2seq_keras 参考:https: ...