开发者社区> auqbllxiu> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java:打包成jar包

简介: Java:打包成jar包
+关注继续查看

准备Java文件 Hello.java

public class Hello{
   public static void main(String[] args) {
       System.out.println("Hello");
   }
}

打包过程

$ javac Hello.java                # 编译成.class 文件


$ jar -cvf hello.jar Hello.class # 打包
已添加清单
正在添加: Hello.class(输入 = 401) (输出 = 275)(压缩了 31%)

$ jar -xvf hello.jar # 解压
已创建: META-INF/
已解压: META-INF/MANIFEST.MF
已解压: Hello.class

记事本打开文件 META-INF/MANIFEST.MF, 添加Main-Class: Hello

Manifest-Version: 1.0
Created-By: 1.8.0_172 (Oracle Corporation)
Main-Class: Hello

再次打包

$ jar -cvfm hello.jar META-INF/MANIFEST.MF Hello.class
已添加清单
正在添加: Hello.class(输入 = 401) (输出 = 275)(压缩了 31%)

# jar -cvfm hello.jar META-INF/MANIFEST.MF -C demo/ .
# 打包demo文件夹下所有文件,注意后面的'.'

$ java -jar hello.jar # 执行jar包
Hello

打包参数

-c  创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 输出详细报告
-m 指定MANIFEST.MF文件
-0 生成jar包时不压缩内容
-M 不生成清单文件MANIFEST.MF
-i 为指定的jar文件创建索引文件
-C 可在相应的目录下执行命令

参考

java打jar包的几种方式详解

Java Jar包压缩、解压使用指南

            </div>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java:打包成jar包
Java:打包成jar包
18 0
Java:打包成jar包
Java:打包成jar包
33 0
Java:打包成jar包
Java:打包成jar包
30 0
Java之 将程序打包成jar包
准备材料:   1.java文件:        Helloworld.java   package com.ray; public class HelloWorld{ public static void main(String[] args) { System.out.println("Hello!jar"); } }      2.指定目录:建一个目录,来存放.class文件和.jar文件。
703 0
关于JAVA打包成jar包的问题
   前几天在对JAVA文件打包成jar包时,遇到一些问题,至今未能解决,记录下来,还望大家指教。     在将多个CLASS文件打包成jar包时,比如我要把放在/mysoft/bin目录下的类文件都打包到一个jar包,编写myMANIFEST.MF文件,里面的内容是对Main-Class:的指定,比如我要指定的是MainClass,然后编写的内容是Main-Class: MainClass,并把它放在/mysoft,当前目录也是它,然后运行jar cvfm test.jar myMANIFEST.MF -C bin/ .。
654 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Java开发手册》2019最新版发布!
立即下载
《阿里巴巴Java开发手册》1.3.0版本【非最新版】
立即下载
阿里巴巴Java开发手册PDF1.2.0版(非最新版)
立即下载