- 浏览: 281858 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
chenxliang:
2016年10月26、27日,上海浦东,Postgres中国用 ...
用JDBC连接Postgres(Postgres学习笔记1) -
cuiran:
不错,讲的很详细。
web.xml 中的listener、 filter、servlet 加载顺序及其详解 -
i_am_birdman:
PostgreSQL的管理启动服务pg_ctl -D /pat ...
PostgreSql 数据库备份恢复 删除 建立 -
i_am_birdman:
songshuang 写道现在觉悟也不晚!加油!
加油呵呵
人生规划啊 -
songshuang:
现在觉悟也不晚!加油!
人生规划啊
java projects 打包jar的方法:
(1):用eclipse,myeclipse的export功能。
(2):用 jar
jar用法:
jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar。它的运行需要用到 JDK 安装目录下 lib 目录中的 tools.jar 文件。不过我们除了安装 JDK 什么也不需要做,因为 SUN 已经帮我们做好了。我们甚至不需要将 tools.jar 放到 CLASSPATH 中。
使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:
jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:
-c 创建新的 JAR 文件包
-t 列出 JAR 文件包的内容列表
-x 展开 JAR 文件包的指定文件或者所有文件
-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)
[vfm0M] 中的选项可以任选,也可以不选,它们是 jar 命令的选项参数
-v 生成详细报告并打印到标准输出
-f 指定 JAR 文件名,通常这个参数是必须的
-m 指定需要包含的 MANIFEST 清单文件
-0 只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快
-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数
[jar-文件] 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数
[manifest-文件] 即 MANIFEST 清单文件,它是 -m 参数的附属参数
[-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。
文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打包的时候会自动把该目录中的所有文件和子目录打入包中。
下面举一些例子来说明 jar 命令的用法:
1) jar cf test.jar test
该命令没有执行过程的显示,执行结果是在当前目录生成了 test.jar 文件。如果当前目录已经存在 test.jar,那么该文件将被覆盖。
2) jar cvf test.jar test
该命令与上例中的结果相同,但是由于 v 参数的作用,显示出了打包过程,如下:
标明清单(manifest)
增加:test/(读入= 0) (写出= 0)(存储了 0%)
增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)
3) jar cvfM test.jar test
该命令与 2) 结果类似,但在生成的 test.jar 中没有包含 META-INF/MANIFEST 文件,打包过程的信息也略有差别:
增加:test/(读入= 0) (写出= 0)(存储了 0%)
增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)
4) jar cvfm test.jar manifest.mf test
运行结果与 2) 相似,显示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 内容不同,是包含了 manifest.mf 的内容
5) jar tf test.jar
在 test.jar 已经存在的情况下,可以查看 test.jar 中的内容,如对于 2) 和 3) 生成的 test.jar 分别应该此命令,结果如下;
对于 2)
META-INF/
META-INF/MANIFEST.MF
test/
test/Test.class
对于 3)
test/
test/Test.class
6) jar tvf test.jar
除显示 5) 中显示的内容外,还包括包内文件的详细信息,如:
0 Wed Jun 19 15:39:06 GMT 2002 META-INF/
86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF
0 Wed Jun 19 15:33:04 GMT 2002 test/
7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class
7) jar xf test.jar
解开 test.jar 到当前目录,不显示任何信息,对于 2) 生成的 test.jar,解开后的目录结构如下:
==
|-- META-INF
| `-- MANIFEST
`-- test
`--Test.class
8) jar xvf test.jar
运行结果与 7) 相同,对于解压过程有详细信息显示,如:
创建:META-INF/
展开:META-INF/MANIFEST.MF
创建:test/
展开:test/Test.class
9) jar uf test.jar manifest.mf
在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 来查看 test.jar 可以发现 test.jar 中比原来多了一个 manifest。这里顺便提一下,如果使用 -m 参数并指定 manifest.mf 文件,那么 manifest.mf 是作为清单文件 MANIFEST 来使用的,它的内容会被添加到 MANIFEST 中;但是,如果作为一般文件添加到 JAR 文件包中,它跟一般文件无异。
10) jar uvf test.jar manifest.mf
与 9) 结果相同,同时有详细信息显示,如:
增加:manifest.mf(读入= 17) (写出= 19)(压缩了 -11%)
4. 关于 JAR 文件包的一些技巧
1) 使用 unzip 来解压 JAR 文件
在介绍 JAR 文件的时候就已经说过了,JAR 文件实际上就是 ZIP 文件,所以可以使用常见的一些解压 ZIP 文件的工具来解压 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等来解压是因为它们解压比较直观,方便。而使用 unzip,则是因为它解压时可以使用 -d 参数指定目标目录。
在解压一个 JAR 文件的时候是不能使用 jar 的 -C 参数来指定解压的目标的,因为 -C 参数只在创建或者更新包的时候可用。那么需要将文件解压到某个指定目录下的时候就需要先将这具 JAR 文件拷贝到目标目录下,再进行解压,比较麻烦。如果使用 unzip,就不需要这么麻烦了,只需要指定一个 -d 参数即可。如:
unzip test.jar -d dest/
2) 使用 WinZip 或者 WinRAR 等工具创建 JAR 文件
上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具创建所需要 ZIP 压缩包,再往这个 ZIP 压缩包中添加一个包含 MANIFEST 文件的 META-INF 目录即可。对于使用 jar 命令的 -m 参数指定清单文件的情况,只需要将这个 MANIFEST 按需要修改即可。
3) 使用 jar 命令创建 ZIP 文件
有些 Linux 下提供了 unzip 命令,但没有 zip 命令,所以需要可以对 ZIP 文件进行解压,即不能创建 ZIP 文件。如要创建一个 ZIP 文件,使用带 -M 参数的 jar 命令即可,因为 -M 参数表示制作 JAR 包的时候不添加 MANIFEST 清单,那么只需要在指定目标 JAR 文件的地方将 .jar 扩展名改为 .zip 扩展名,创建的就是一个不折不扣的 ZIP 文件了,如将上一节的第 3) 个例子略作改动:
jar cvfM test.zip test
--------------------------------------------------------------------------------------------------------------------------------------------
java pojects打包jar的时候,需要一个MANIFEST.MF文件。用eclipse,myeclipse能自动生成这个文件。如果用jar工具手动打包的时候需要自己编写。
格式如下
http://soulshard.iteye.com/blog/346453
--------------------------------------------------------------------------------------------------------------------------------------------
jar转换成exe,我用了软件exe4j。如果客户端电脑没有jre环境,可以绑一个jre到jar所在的目录中。
参考:http://www.cnblogs.com/icewee/articles/2073203.html
(1):用eclipse,myeclipse的export功能。
(2):用 jar
jar用法:
jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar。它的运行需要用到 JDK 安装目录下 lib 目录中的 tools.jar 文件。不过我们除了安装 JDK 什么也不需要做,因为 SUN 已经帮我们做好了。我们甚至不需要将 tools.jar 放到 CLASSPATH 中。
使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:
jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:
-c 创建新的 JAR 文件包
-t 列出 JAR 文件包的内容列表
-x 展开 JAR 文件包的指定文件或者所有文件
-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)
[vfm0M] 中的选项可以任选,也可以不选,它们是 jar 命令的选项参数
-v 生成详细报告并打印到标准输出
-f 指定 JAR 文件名,通常这个参数是必须的
-m 指定需要包含的 MANIFEST 清单文件
-0 只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快
-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数
[jar-文件] 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数
[manifest-文件] 即 MANIFEST 清单文件,它是 -m 参数的附属参数
[-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。
文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打包的时候会自动把该目录中的所有文件和子目录打入包中。
下面举一些例子来说明 jar 命令的用法:
1) jar cf test.jar test
该命令没有执行过程的显示,执行结果是在当前目录生成了 test.jar 文件。如果当前目录已经存在 test.jar,那么该文件将被覆盖。
2) jar cvf test.jar test
该命令与上例中的结果相同,但是由于 v 参数的作用,显示出了打包过程,如下:
标明清单(manifest)
增加:test/(读入= 0) (写出= 0)(存储了 0%)
增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)
3) jar cvfM test.jar test
该命令与 2) 结果类似,但在生成的 test.jar 中没有包含 META-INF/MANIFEST 文件,打包过程的信息也略有差别:
增加:test/(读入= 0) (写出= 0)(存储了 0%)
增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)
4) jar cvfm test.jar manifest.mf test
运行结果与 2) 相似,显示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 内容不同,是包含了 manifest.mf 的内容
5) jar tf test.jar
在 test.jar 已经存在的情况下,可以查看 test.jar 中的内容,如对于 2) 和 3) 生成的 test.jar 分别应该此命令,结果如下;
对于 2)
META-INF/
META-INF/MANIFEST.MF
test/
test/Test.class
对于 3)
test/
test/Test.class
6) jar tvf test.jar
除显示 5) 中显示的内容外,还包括包内文件的详细信息,如:
0 Wed Jun 19 15:39:06 GMT 2002 META-INF/
86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF
0 Wed Jun 19 15:33:04 GMT 2002 test/
7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class
7) jar xf test.jar
解开 test.jar 到当前目录,不显示任何信息,对于 2) 生成的 test.jar,解开后的目录结构如下:
==
|-- META-INF
| `-- MANIFEST
`-- test
`--Test.class
8) jar xvf test.jar
运行结果与 7) 相同,对于解压过程有详细信息显示,如:
创建:META-INF/
展开:META-INF/MANIFEST.MF
创建:test/
展开:test/Test.class
9) jar uf test.jar manifest.mf
在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 来查看 test.jar 可以发现 test.jar 中比原来多了一个 manifest。这里顺便提一下,如果使用 -m 参数并指定 manifest.mf 文件,那么 manifest.mf 是作为清单文件 MANIFEST 来使用的,它的内容会被添加到 MANIFEST 中;但是,如果作为一般文件添加到 JAR 文件包中,它跟一般文件无异。
10) jar uvf test.jar manifest.mf
与 9) 结果相同,同时有详细信息显示,如:
增加:manifest.mf(读入= 17) (写出= 19)(压缩了 -11%)
4. 关于 JAR 文件包的一些技巧
1) 使用 unzip 来解压 JAR 文件
在介绍 JAR 文件的时候就已经说过了,JAR 文件实际上就是 ZIP 文件,所以可以使用常见的一些解压 ZIP 文件的工具来解压 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等来解压是因为它们解压比较直观,方便。而使用 unzip,则是因为它解压时可以使用 -d 参数指定目标目录。
在解压一个 JAR 文件的时候是不能使用 jar 的 -C 参数来指定解压的目标的,因为 -C 参数只在创建或者更新包的时候可用。那么需要将文件解压到某个指定目录下的时候就需要先将这具 JAR 文件拷贝到目标目录下,再进行解压,比较麻烦。如果使用 unzip,就不需要这么麻烦了,只需要指定一个 -d 参数即可。如:
unzip test.jar -d dest/
2) 使用 WinZip 或者 WinRAR 等工具创建 JAR 文件
上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具创建所需要 ZIP 压缩包,再往这个 ZIP 压缩包中添加一个包含 MANIFEST 文件的 META-INF 目录即可。对于使用 jar 命令的 -m 参数指定清单文件的情况,只需要将这个 MANIFEST 按需要修改即可。
3) 使用 jar 命令创建 ZIP 文件
有些 Linux 下提供了 unzip 命令,但没有 zip 命令,所以需要可以对 ZIP 文件进行解压,即不能创建 ZIP 文件。如要创建一个 ZIP 文件,使用带 -M 参数的 jar 命令即可,因为 -M 参数表示制作 JAR 包的时候不添加 MANIFEST 清单,那么只需要在指定目标 JAR 文件的地方将 .jar 扩展名改为 .zip 扩展名,创建的就是一个不折不扣的 ZIP 文件了,如将上一节的第 3) 个例子略作改动:
jar cvfM test.zip test
--------------------------------------------------------------------------------------------------------------------------------------------
java pojects打包jar的时候,需要一个MANIFEST.MF文件。用eclipse,myeclipse能自动生成这个文件。如果用jar工具手动打包的时候需要自己编写。
格式如下
http://soulshard.iteye.com/blog/346453
--------------------------------------------------------------------------------------------------------------------------------------------
jar转换成exe,我用了软件exe4j。如果客户端电脑没有jre环境,可以绑一个jre到jar所在的目录中。
参考:http://www.cnblogs.com/icewee/articles/2073203.html
发表评论
-
Thinking in java 读书笔记
2012-03-13 09:32 0面向对象语言的5个特性: 1.万物皆为对象。 2.程序是对象的 ... -
几种基本的数字正则表达式
2011-04-06 20:20 1260只能输入1个数字 表达式 ^\d$ 描述 ... -
坚持着
2010-12-26 22:35 799有时候不知道为什么,明明知道没有希望,没有意义,还是要坚持,为 ... -
JDK自带的native2ascii工具
2010-12-15 10:40 723背景:java默认的编码方式为Unicode,而计算机系统编码 ... -
对象的序列化和反序列化
2010-12-06 20:22 820当两个进程在进行远程 ... -
Java的序列化机制
2010-12-06 20:22 833Java的序列化机制只序列化对象的属性值,而不会去序列化什么所 ... -
浅谈异常处理
2010-12-06 12:46 635六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定 ... -
java.io.Reader和java.io.Writer
2010-11-11 10:33 137114.3 字符流 java.io.Reader、java ... -
Java 反射机制深入研究
2010-11-06 17:50 827Java 反射是Java语言的一个很重要的特征,它使得Java ... -
Abstract Class and Interface 抽象类与接口的区别
2010-11-03 19:58 1139abstract Methods and Classes -- ... -
关于String,StringBuffer,StringBuilder,+和append
2010-09-14 15:17 890String一旦赋值或实例化后就不可更改,如果赋予新值将会重新 ... -
关于对象的equal方法和hashCode方法
2010-09-08 13:28 1341equal方法 Object类的equals方法用于检测一个对 ... -
Java 重写Object类的常见方法
2010-09-08 13:14 1424当我们写一个类的时候,都会对Java.lang.Obje ... -
arraylist的使用方法
2010-06-19 21:08 10171、什么是ArrayList ArrayList ... -
myeclipse基本设置
2010-06-15 15:26 12191.myeclipse如何显示行数 Window->P ... -
Java多线程编程要点 (二)
2010-06-14 13:20 7884、 Timer 和 Timer Task 的 ... -
Java多线程编程要点 (一)
2010-06-14 13:17 7621、 认识Thread和Runnable Java中实现多线程 ... -
String.valueOf()
2010-06-14 13:00 4060String.valueOf()是把java的原始数据类型或运 ... -
一些基础
2010-06-11 19:39 7851 notify与notifyall的区别 notify和no ...
相关推荐
Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总 本文档将详细介绍 Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总。Java 是一种流行的编程语言,广泛应用于软件开发、Android 应用开发...
1. **Java程序打包jar**: - **JAR(Java Archive)**:JAR文件是Java平台特有的归档格式,它允许将多个类文件和其他资源(如图像、声音等)打包到一个文件中。通过使用`jar`命令或者构建工具(如Maven、Gradle)...
### Java应用程序从打包JAR到编译安装的详尽指南 #### 一、工具集概览 本章节将深入探讨用于Java应用程序从打包至编译安装的工具集,包括Eclipse、fat-jar、exe4j以及Inno Setup。这些工具各司其职,共同构成了...
Java2EXE是一种工具,它允许开发者将Java的.jar(Java可执行)文件转换为.exe(Windows可执行)文件。这种转换过程对于那些希望在不安装Java运行环境的计算机上运行Java应用程序的用户来说非常有用。Java2EXE工具...
在这里,我们将详细介绍如何将 Java 程序或项目打包成 jar 文件,然后将 jar 文件转换成exe 文件,并最终生成一个安装文件。 将 Java 程序或项目打包成 jar 文件 要将 Java 程序或项目打包成 jar 文件,我们需要...
- **安装j2exe4j**:j2exe4j是一款强大的Java应用程序打包工具,支持将jar文件转换为exe文件,并且可以自动包含所需的JRE版本。首先需要下载并安装该软件。 - **配置exe文件**:打开j2exe4j后,选择“新建”项目。...
为了方便用户,开发者有时会将`.jar`文件打包成`.exe`(Windows可执行文件),使得用户只需双击即可运行程序,无需关心是否安装了Java环境。 打包Java应用到`.exe`文件的过程主要涉及到以下知识点: 1. **Java可...
总的来说,将.jar转换为.exe是一项实用的技术,可以帮助Java开发者更轻松地在Windows环境中分发和运行他们的应用程序。在进行转换时,需要考虑兼容性、大小和安全因素,并选择合适的转换工具以满足需求。
总之,打包Java程序至JAR文件并连接MySQL数据库,需要正确管理依赖,选择合适的打包工具,如Eclipse的Export功能,以及在必要时使用exe4j将其转换为可执行文件。同时,处理好数据库连接参数的存储和管理,确保程序的...
Exe4j 是一个功能强大且易于使用的工具,它可以将 Java 应用程序打包成 Exe 文件。下载完成后,安装 Exe4j,并按照提示进行安装。 第二步:将 Jar 文件转换为 Exe 文件 打开 Exe4j 软件,选择“JAR in EXE”选项,...
将 Java 应用程序打包成可执行文件(exe)是非常有必要的,这样可以使程序更易于分发和安装。本文将详细介绍如何使用 exe4j 工具将 Java + Swing 打包成可执行文件(exe),并动态绑定 JRE 环境变量。 Step 1: 准备...
### Java 文件打包成 JAR 文件详解 #### 一、JAR 命令概述 JAR(Java Archive)是 Java 开发工具包 (JDK) 中的一个实用程序,用于将多个 Java 类文件和其他资源文件打包成一个 JAR 文件。JAR 文件不仅便于分发和...
"jar转换exe转换工具"就是这样的一个工具,它允许我们将Java程序转化为可在Windows操作系统上直接运行的EXE格式。 转换过程通常涉及到以下步骤: 1. **选择转换工具**:市场上有许多工具可供选择,如Launch4j、...
Java打包机是一款便捷的工具,专门用于将Java的.jar文件转换为可执行的.exe文件,使得非Java环境的用户也能方便地运行Java程序。这款工具相比exe4j来说,操作更为简便,对于开发者来说,是一个快速发布Java应用程序...
**JSmooth - 将Java应用打包为EXE的实用工具** JSmooth是一个功能强大的工具,专为Java开发者设计,允许他们将JAR(Java Archive)文件转换为可执行的EXE(Executable)文件。这使得Java应用程序能够更方便地在...
为了将Java应用程序转换为.exe格式,开发者可以使用特定的打包工具,以方便非Java环境的用户运行程序。下面我们将详细讨论这个主题。 1. **为什么需要将Java程序打包成.exe**: - 用户友好:大多数Windows用户对....
Java jar打包成exe应用程序是一种将Java程序转换为可执行文件(.exe)的过程,以便在没有Java环境的计算机上也能运行。这主要涉及到Java的跨平台性和可移植性,以及如何将Java字节码转化为Windows操作系统能直接执行...
总的来说,将.jar文件转换为.exe文件是一项实用的技术,可以帮助扩大Java应用程序的用户群。通过使用Jar2EXE、GreenJVM、JSmooth等工具,开发者可以简化这一过程,使Java应用程序更容易在Windows平台上运行。
在Java开发中,为了提高用户友好性和方便部署,我们可以将Java应用打包成可执行的exe文件,并且结合JRE一起打包成安装文件。这一过程可以大大简化用户的安装和运行步骤。下面将详细介绍这个过程: 1. **使用exe4j...