方法一:通过jar命令

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目录下

一、打包成一般的jar包

输入如下命令即可:

jar cvf counter.jar -C bin .

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

cd bin

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

二、打包成可运行的jar包

要打包成可运行的jar包,有两种方法,一是手动创建MANIFEST.MF文件,并在其中指定主类;二是使用jar的-e参数指定可运行jar包的入口点(即main类的完全名称).

以Java源代码行数统计程序的打包为例,演示如何打包:

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

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

Manifest-Version: 1.0

Created-By: rsljdkt

Class-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功能:

一、打包成一般的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按钮,完成打包。

二、打包成可运行的jar包

步骤如下:

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

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

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

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

分享到:

2011-05-14 15:01

浏览 54707

评论

3 楼

程序猿_懂否

2015-07-22

非常受益。感谢分享。

my blog:http://blog.mn886.net/chenjianhua

java打包成jar_Java程序打包成jar包相关推荐

  1. java 程序打包成jar_Java程序打包成jar包

    二.打包成可运行的jar包 要打包成可运行的jar包,有两种方法,一是手动创建MANIFEST.MF文件,并在其中指定主类;二是使用jar的-e参数指定可运行jar包的入口点(即main类的完全名称) ...

  2. java poi 需要jar_Java 之 POI各Jar包作用

    目前POI的最新版本是 3.16-beta2,该版本是测试版本,稳定版本是 3.15,下载地址为 Apache POI (http://poi.apache.org/download.html). 一 ...

  3. vs2017python如何打包exe_VS2017项目程序打包成.msi或者.exe

    VS2017项目程序打包成.msi或者.exe 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --& ...

  4. Maven引入本地jar包,解决打包时找不到本地jar包

    springboot,maven引入本地jar,生成pdf使用,找不到类问题 参考:Maven引入本地jar包,解决打包时找不到本地jar包 日志 Caused by: java.lang.NoCla ...

  5. java命令行执行程序解决依赖外部jar包的问题

    java命令行执行程序解决依赖外部jar包的问题 参考文章: (1)java命令行执行程序解决依赖外部jar包的问题 (2)https://www.cnblogs.com/wangxiaoha/p/6 ...

  6. java代码执行 打包jar_Java程序打包成jar文件包并执行的方法

    这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自 ...

  7. 如何将spyder打包成exe_exe程序打包成安装文件,自己的程序制作成一键安装程序...

    我们自己编写的程序已经可以在本地运行了,如果要变成像qq那样的安装包该怎么做呢? 这里需要借助打包工具来进行,我使用的是VNISEdit软件,该软件免费且简单高效,下面来看下如何打包成安装程序. 1 ...

  8. matlab 打包封装,MATLAB程序封装成EXE文件

    MATLAB程序封装成EXE文件 1.设置编译器: 首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序.配置Compiler ...

  9. java 单开程序_java生成jar包并且单进程运行的实例

    java文件打包jar运行 有效步骤: 1.cmd 到当前目录(默认包主类所在目录为例) set classpath = 默认包主类所在目录 2.javac 主类名.java 3.java 主类名 4 ...

最新文章

  1. 2018.3.13 12周2次课
  2. PHP合并数组array_merge函数运算符加号与的区别
  3. c语言cin n1 n2,牛客等级之题N1 追债之旅 - N2 Rinne Loves Study(8.6场)
  4. rand函数的使用方法php,PHP array_rand()函数 使用基础教程
  5. CentOS 6.4 安装RBTools 报错 ImportError: Entry point ('console_scripts', 'easy_install') not found...
  6. sts在文件夹中显示_工作中很多问题,巧用Windows 10任务栏,几分钟快速解决
  7. 3 数组中的重复数字
  8. cloud foundry_介绍“又一个” Cloud Foundry Gradle插件
  9. dockerfile使用(一)
  10. 我的世界服务器按键显示mode,【服务器相关】【求助!】关于服务器中使用gamemode等命令错误。...
  11. java B2B2C springmvc mybatis多租户电子商城系统 (七)springboot开启声明式事务
  12. MyBatis扫描mapper
  13. Apache Traffic Server服务搭建
  14. Android TextView 跑马灯效果和 EditText 冲突解决办法
  15. Python如何上传文件?
  16. 电磁仿真软件CST2020 下载链接及安装破·解教程笔记
  17. 强连通分量 Kosaraju科萨拉朱算法
  18. 优美抒情钢琴曲《kiss the rain》-这一刻 让我们静静聆听
  19. Python异步任务模块之-celery
  20. el-select嵌套树结构实现多级下拉菜单

热门文章

  1. 什么是AnTi防御-无限防方案?能帮助游戏解决哪些攻击问题?
  2. 客服不在线时候的提示语可以修改吗?怎样才可以修改留言提示内容呢?
  3. 如何用Tomcat布署Cesium开源三维地球
  4. 2021-09-02 基于HAL库的野火STM32F103ZE核心板RTC校准
  5. [转贴]写给理工科大学生尤其是学计算机的大学生
  6. Gitbook 电子书 静态博客制作
  7. UNIX-Windows快意恩仇录
  8. WebGL Shader
  9. java sqlserver uuid_java中的UUID和sql server中的uniqueidentifier的问题
  10. 美股史考特证券开户教程