博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java程序打包成jar包
阅读量:6486 次
发布时间:2019-06-23

本文共 1999 字,大约阅读时间需要 6 分钟。

hot3.png

方法一:通过jar命令

jar命令的用法:

进入cmd模式输入jar然后回车,就能看见jar命令的帮助说明:

用法:

jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...

选项包括:

-c  创建新的归档文件-t  列出归档目录-x  解压缩已归档的指定(或所有)文件-u  更新现有的归档文件-v  在标准输出中生成详细输出-f  指定归档文件名-m  包含指定清单文件中的清单信息-e  为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点-0  仅存储;不使用任何 ZIP 压缩-M  不创建条目的清单文件-i  为指定的 jar 文件生成索引信息-C  更改为指定的目录并包含其中的文件

如果有任何目录文件,则对其进行递归处理。清单文件名、归档文件名和入口点名的指定顺序与 "m"、"f" 和 "e" 标志的指定顺序相同。

示例 1:将两个类文件归档到一个名为 classes.jar 的归档文件中:

jar cvf classes.jar Foo.class Bar.class

示例 2:使用现有的清单文件 "mymanifest" 并将 foo/ 目录中的所有文件归档到 "classes.jar" 中:

jar cvfm classes.jar mymanifest -C foo/ .

下文假设编译后的class文件在bin目录下

A、打包成一般的jar包

输入如下命令即可:

jar cvf counter.jar -C bin .

其中,“-C bin”实际上是告诉jar命令先cd到bin目录下,再在此目录执行没有参数“-C bin”的命令,等价于:

cd binjar cvf counter.jar . // "."代表当前路径

B、打包成可运行的jar包

要打包成可运行的jar包,有两种方法,一是手动创建MANIFEST.MF文件,并在其中指定主类; 二是使用jar的-e参数指定可运行jar包的入口点(即main类的完全名称).以Java源代码行数统计程序的打包为例,演示如何打包:

1. 手动创建MANIFEST.MF文件:

1)首先编辑MANIFEST.MF文件,内容如下:

Mf代码:

Manifest-Version: 1.0Created-By: rsljdktClass-Path: .Main-Class: Main

说明:

第一行指定清单的版本,若无,则JDK默认生成:Manifest-Version: 1.0

第二行指明创建的作者,若无,则JDK默认生成Created-By: 1.6.0_22(Sun Microsystems Inc.)

第三行指定主类所在类路径,

第四行指明程序运行的主类

2)使用jar命令进行打包:

jar cvfm counter.jar MANIFEST.MF -C bin .

说明:

参数f:指定打包后的包名。

参数m:指定自定义的MANIFEST.MF清单文件,否则,JDK会自动生成不包含Main-Class的默认清单。

参数c:指定是创建新的归档文件。

参数v:在标准输出中生成详细输出,该选项是可选的。

2. 使用-e参数指定入口点: 执行如下命令即可:

jar cvfe counter.jar Main -C bin .

方法二:使用Eclipse的Export功能:

A、打包成一般的jar包:

步骤如下:

1)在要打包的项目上右击,选择Export

2)在弹出的窗口中,选择Java -> JAR File,然后点击next按钮

3)在JAR File Specification窗口中,设置打包成的文件名和存放位置,点击两侧next

4)在JAR Manifest Specification窗口中,设置MANIFEST.MF清单文件的配置, 若仅仅打包成单纯的jar包的话,不用做任何修改,采取默认即可, 若打包成可执行jar包的话,可以使用已存在的MANIFEST文件或者直接选择Main class

5)点击Finish按钮,完成打包。

B、打包成可运行的jar包

步骤如下:

1)在要打包的项目上右击,选择Export

2)在弹出的窗口中,选择Java -> Runnable JAR File,然后点击next按钮

3)在Runnable JAR File Specification窗口中,选择Launch configuration和Export destination

4)点击Finish按钮,打包完成。

转载于:https://my.oschina.net/artshell/blog/179131

你可能感兴趣的文章
js中回调函数写法
查看>>
React native android 最常见的10个问题
查看>>
数据结构和算法
查看>>
[pat]1045 Favorite Color Stripe
查看>>
Immutable学习及 React 中的实践
查看>>
OSI与TCP/IP各层的结构与功能,都有哪些协议
查看>>
Android实例-程序切换到后台及从后台切换到前台
查看>>
spring boot启动定时任务
查看>>
算法 (二分查找算法)
查看>>
java Date 当天时间戳处理
查看>>
linux常用命令-关机、重启
查看>>
iOS开发之调用系统设置
查看>>
javascript 字符串转数字的简便写法
查看>>
Spring中jdbcTemplate的用户实例
查看>>
DecimalFormat 数据格式设置 SimpleDateFormat时间格式的用法介绍 --转载
查看>>
Android 的Margin和Padding属性以及支持的长度单位
查看>>
Django templates加载css/js/image等静态资源
查看>>
caffe solver
查看>>
Rhel6-heartbeat+lvs配置文档
查看>>
0317复利计算的回顾与总结
查看>>