jar命令打jar包

1. 准备工作:

为了省事,这里以eclipse中项目Class2Json为例,该项目结构如下:

bin:是根据执行.java生成的.class文件,bin下的目录与src目录一样,只不过是.class文件
lib:外部依赖包
src:我们自己写的.java文件

接下来:

1. 我们新建一个Class2Json_jar的文件夹
2. 把bin下的文件复制到Class2Json_jar
3. 并把lib整个复制过去,把lib改名为class2json3_lib
4. 创建META-INF文件夹,并在该文件夹下创建MANIFEST.MF文件

在MANIFEST.MF文件中添加如下内容:(书写注意规范,中间都要用一个空格隔开,即使下一行,开头也要一个空格)

(第一个是版本号; 第二个是额外的jar包,第三个是启动的主类)

Manifest-Version: 1.0
Class-Path: . class2json3_lib/commons-beanutils-1.8.0.jar class2json3_
 lib/commons-collections-3.2.1.jar class2json3_lib/commons-lang-2.4.ja
 r class2json3_lib/commons-logging-1.1.3.jar class2json3_lib/ezmorph-1
 .0.6.jar class2json3_lib/json-lib-2.3-jdk15.jar
Main-Class: com.zc.class2json.trans.test.TestDataClass2Json

2. jar命令打jar包

1) jar命令用法

[email protected]:~/zc/jar-package-example/Class2Json_jar$ jar
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
    -c  create new archive
    -t  list table of contents for archive
    -x  extract named (or all) files from archive
    -u  update existing archive
    -v  generate verbose output on standard output
    -f  specify archive file name
    -m  include manifest information from specified manifest file
    -n  perform Pack200 normalization after creating a new archive
    -e  specify application entry point for stand-alone application
        bundled into an executable jar file
    -0  store only; use no ZIP compression
    -P  preserve leading ‘/‘ (absolute path) and ".." (parent directory) components from file names
    -M  do not create a manifest file for the entries
    -i  generate index information for the specified jar files
    -C  change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the ‘m‘, ‘f‘ and ‘e‘ flags.

Example 1: to archive two class files into an archive called classes.jar:
       jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file ‘mymanifest‘ and archive all the
           files in the foo/ directory into ‘classes.jar‘:
       jar cvfm classes.jar mymanifest -C foo/ .

2)第一种方式 jar -cvf ./class2json.jar ./com  (这种方法不行)

jar -cvf ./class2json.jar ./com
class2json.jar是jar包名称
./com  是将这个文件打入jar包

jar包内容如下所示:

其中META-INF/MANIFEST.MF是自动生成的,如下所示:并没有额外的jar包以及主类

Manifest-Version: 1.0
Created-By: 1.8.0_181 (Oracle Corporation)

命令行如下所示:因为我们没指定运行的主类,所以 java -jar class2json.jar 运行失败,因为找不到主类

3)第二种方式 jar -cvf ./class2json.jar ./com  (这种方法不行)

原文地址:https://www.cnblogs.com/zhangchao0515/p/9534806.html

时间: 2024-09-29 19:24:24

jar命令打jar包的相关文章

转:linux下jar命令与jar包

原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.html JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用

使用 "java -jar"命令启动jar包时报不支持的jdk版本异常

在使用java -jar 命令启动一个jar包的时候,提示版本不支持: 1 [[email protected] eureka-server-master]# java -jar xuebusi-eureka-server-master.jar 2 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/xuebusi/EurekaApplication : Unsupported major.min

jar 命令归档war包解压war包

1.将test.war包解压到test目录中 mkdir /tmp/test cd /tmp/test jar xvf /tmp/test.war 2.将test目录归档为war包 jar cvf /tmp/test.war -C /tmp/test . 参考博文:http://www.jb51.net/article/53601.htm

使用jar命令打war包

1.打开cmd进入web项目发布文件夹 2.,输入jar -cvf qxpt.war * (*表示当前目录下所有子目录) 3,回车等待执行完成就可以了 4.如果web项目发布文件夹有多个文件夹,而打war包只需其中一个可以输入jar -cvf qxpt.war webapp 5.查看打的war包输入jar -tf qxpt.war回车等待执行完成就可以了 6.如果修改了某个文件想替换war包的旧文件输入jar -uf qxpt.war (webapp\WEB-INF\classes\com\ic

jar命令的用法详解

本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看

常用jar命令与

JAR包是Java中所特有一种压缩文档.存储格式格式就是.zip包.但是与ZIP包不同的地方是,生成JAR包时候,会自动添加一个META-INF\MANIFEST.MF文件 命令参数jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...其中{ctxu}这四个参数必须选选其一.[v f m e 0 M i ]是可选参数,文件名也是必须的.-c  创建一个jar包-t  显示jar中的内容列表-x  解压jar包-u  添加文件到jar包中-f  指定jar包的文件

jar命令的用法详解(转载)

本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看

[转] - JAR文件包及jar命令详解 ( MANIFEST.MF的用法 )

常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. chm 文档一样双击运行了:而另一种是使用 JET 来进行 编译.但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序 都编译成执行文件,性能也要打些折扣.所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性. 下面就来看看什么是 JAR 文件包吧: 1. JAR 文件包 JAR 文件

Linux下打包压缩war、解压war包和jar命令

情景:把project_a文件夹下的文件打包成project.war 1. 打包 jar -xvf project.war /project_a 说明: -c 创建war包 -v 显示过程信息 -f 指定 JAR 文件名,通常这个参数是必须的 -M 不产生所有项的清单(MANIFEST]文件,此参数会忽略 -m 参数 -0 这个是阿拉伯数字,只打包不压缩的意思 2. 解压 jar -xvf project.war 注:解压到当前目录 jar 命令详解 使用不带任何的 jar 命令我们可以看到 j