解压jar包

jar xf xxx.jar

打包成jar包

方法一:通过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按钮,打包完成。

java解压jar包的方法_Java 打包成jar包 和 解压jar包相关推荐

  1. weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar...

    2019独角兽企业重金招聘Python工程师标准>>> weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件.不用jar      ...

  2. java 跨类 调用 model_Model.java中的这两个方法,为什么不能在子类中调用,或者包内调用也行啊。...

    @JFinal 你好,想跟你请教个问题: Model.java中的这两个方法,为什么不能在子类中调用,或者包内调用也行啊. /** * Find model. */ @SuppressWarnings ...

  3. java zip压缩 加密码_java 压缩成zip文件、解压zip文件(可设置密码)

    1.情景展示 java实现将文件夹进行压缩打包的功能及在线解压功能 2.解决方案 方式一:压缩.解压zip 准备工作:slf4j-api.jar org.slf4j slf4j-api 1.7.25 ...

  4. java包 类 方法_Java中包与包之间方法的调用及其关键字区分(基础)

    最近在写应用时,对包与包之间方法的调用不太清楚,专门看视频和网站后整理了这篇文章,希望对刚入门的同志有所帮助,进入主题. 首先我们先简单看看Java中private.protected.public和 ...

  5. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  6. java中线程死锁的解决方法_Java线程死锁实例及解决方法

    这篇文章主要介绍了Java线程死锁实例及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.死锁的定义 所谓死锁是指多个线程因竞争资源而造成 ...

  7. spring boot 打包成二进制可以直接执行的jar , 非java -jar 启动方式

    spring 打包成jar后可以直接使用java -jar xxx.jar 直接启动.但是还想进一步简化,直接用./xxx.jar 可以注册成系统命令的方式改如何配置呢,其实很简单. pom.xml ...

  8. Linux中把文件夹打成war包,将Web应用打包成WAR文件

    将Web应用打包成WAR文件的方法 (1)在命令行中运用Jar命令 假定有一个Web应用:C:\myHome myHome/WEB-INF/-- myHome/files/-- myHome/imag ...

  9. java eclipse生成apk,将Eclipse Android项目打包成APK文件

    将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文. Ecli ...

  10. java文件打包jar文件_Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)...

    方法一:用j2ewiz,使用方法如下: 操作步骤: 1.         双击j2ewiz.exe,出现软件注册窗口,点击下一步. 2.         选择待转换的Jar文件及最低Jvm版本.我选择 ...

最新文章

  1. Android自定义流式布局-FlowLayout
  2. mySQL初学者一些最常用的命令行
  3. 上世纪八九十年代的收录放音机拆解
  4. php mvc 参数传递数组,PHP MVC在帖子上添加到数组
  5. JAVA学习-数组元素排序
  6. break;continue语句
  7. 《OpenGL超级宝典》第一章:3D图形和OpenGL简介
  8. Android PDF 的 读取 与 生成
  9. 浪潮服务器销售案例ppt,浪潮服务器上架安装.ppt
  10. c语言中输出以e为底的指数,c语言中以e为底的指数怎么表示 c++中怎样表示以e为底的...
  11. ACCESS sql语句数据类型转换 文本类型转换为数字类型
  12. AVR446步进电机算法推导及应用
  13. 挺苹果的声音,iPhone 5s的两处进步
  14. SylixOS学习三—— SylixOS的引导与安装2
  15. 再见了青春,联想Y450最后一次升级,真的神一般存在。
  16. 【萧蕊冰】你知道ui设计属于什么行业吗?
  17. 权限管理系统项目文档——Vue前端
  18. Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
  19. MySQL表的插入详解
  20. JavaSE-day22

热门文章

  1. 多开工具,终于给找来了~
  2. 网络安全行业是蓝景吗?
  3. 点餐小程序源代码|餐饮小程序源码PHP全开源开发
  4. gmsk仿真matlab,GMSK系统的建模与仿真MATLAB程序
  5. 深度学习与计算机视觉教程(12) | 目标检测 (两阶段,R-CNN系列)(CV通关指南·完结)
  6. VMware ESXi 安装教程
  7. Flameshot——最好用的ubuntu截图工具
  8. 服务器性能测试脚本大全
  9. ubuntu系统鼠标右键没有新建文档的解决方案
  10. 基于Python的微信公众号爬虫