java 压缩命令jar

合集下载

利用jar命令打包和解压

利用jar命令打包和解压

利⽤jar命令打包和解压 常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。

通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏ 编译。

但是 JET 是要⽤钱买的,⽽且据说 JET 也不是能把所有的 Java 程序都编译成执⾏⽂件,性能也要打些折扣。

所以,使⽤制作可执⾏ JAR ⽂件包的⽅法就是最佳选择了,何况它还能保持Java 的跨平台特性。

下⾯就来看看什么是 JAR ⽂件包吧:1. JAR ⽂件包JAR ⽂件就是 Java Archive File,顾名思意,它的应⽤是与 Java 息息相关的,是 Java 的⼀种⽂档格式。

JAR ⽂件⾮常类似 ZIP ⽂件--准确的说,它就是 ZIP ⽂件,所以叫它⽂件包。

JAR ⽂件与 ZIP ⽂件唯⼀的区别就是在 JAR ⽂件的内容中,包含了⼀个 META-INF/MANIFEST.MF ⽂件,这个⽂件是在⽣成 JAR ⽂件的时候⾃动创建的。

举个例⼦,如果我们具有如下⽬录结构的⼀些⽂件:==`-- test `-- Test.class把它压缩成 ZIP ⽂件 test.zip,则这个 ZIP ⽂件的内部⽬录结构为:test.zip`-- test `-- Test.class如果我们使⽤ JDK 的 jar 命令把它打成 JAR ⽂件包 test.jar,则这个 JAR ⽂件的内部⽬录结构为:test.jar|-- META-INF| `-- MANIFEST.MF`-- test`--Test.class2. 创建可执⾏的 JAR ⽂件包制作⼀个可执⾏的 JAR ⽂件包来发布你的程序是 JAR ⽂件包最典型的⽤法。

Java 程序是由若⼲个 .class ⽂件组成的。

这些 .class ⽂件必须根据它们所属的包不同⽽分级分⽬录存放;运⾏前需要把所有⽤到的包的根⽬录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运⾏时还要到控制台下去使⽤ java 命令来运⾏,如果需要直接双击运⾏必须写 Windows 的批处理⽂件 (.bat) 或者 Linux 的 Shell 程序。

-jar命令用法-概述说明以及解释

-jar命令用法-概述说明以及解释

-jar命令用法-概述说明以及解释1.引言1.1 概述在Java开发中,-jar命令是一个经常使用的命令,用于执行打包为jar 文件的Java应用程序。

它为我们提供了一种方便的方式来启动和运行独立的Java应用程序,无需考虑类路径的问题。

使用-jar命令时,我们只需要提供jar文件的路径作为参数,Java虚拟机(JVM)会自动搜索并加载jar文件中的主类作为应用程序的入口点。

这使得我们可以将整个应用程序打包到一个jar文件中,方便部署和发布。

与传统的java命令相比,-jar命令有一些独特的特性。

首先,它会忽略类路径(即不会加载classpath中的类),而是只加载jar文件中的类。

这使得我们可以确保应用程序只使用了我们想要的类,而不会引入其他不必要的类或版本冲突。

其次,-jar命令还可以让我们在jar文件中指定一个清单文件(manifest),其中可以包含额外的元数据和配置信息。

通过这种方式,我们可以在运行应用程序时传递一些参数或配置信息,而不必在命令行中逐个指定。

另外,-jar命令还能够处理一些常见的问题,比如自动解压缩jar文件、加载外部依赖库等。

这些功能使得我们可以更加方便地打包和分发我们的应用程序,减少了很多繁琐的配置和部署步骤。

总之,-jar命令是Java开发中一个非常有用的工具,它简化了应用程序的启动和部署过程,提高了开发效率。

在本文的接下来部分,我们将详细介绍如何正确地使用-jar命令,以及一些常见问题的解决方法。

1.2 文章结构文章结构部分的内容:文章结构是指文章的整体框架和组织方式,它对于读者来说具有重要的指导作用。

本文将按照以下结构展开介绍-jar命令的用法。

首先,文章将引言部分,对本文的主题进行概述。

我们将介绍-jar命令在Java开发中的重要性以及它的基本功能和作用。

同时,我们还会介绍本文的文章结构和目的,以便读者可以清晰地了解本文的内容和目标。

接下来,正文部分将涵盖两个要点。

JAR包介绍大全用途作用详解JAVA

JAR包介绍大全用途作用详解JAVA

JAR包介绍大全用途作用详解JAVAJAR(Java Archive)是Java的一种标准压缩文件格式,它是一种将多个Java类文件、资源文件、配置文件和元数据文件打包成一个文件的方式。

JAR包的使用具有很多作用和用途,下面将详细介绍。

1. 代码打包和发布:通过将Java类文件打包成JAR包,可以方便地将整个项目的代码进行打包和发布。

这样可以简化代码的传输、分发和部署。

2. 代码模块化:JAR包可以将一组相关的Java类打包成一个模块,便于代码的管理和维护。

不同的模块可以根据需要进行组合,提高代码的可复用性和可扩展性。

3.应用程序部署:将应用程序的所有依赖的类和资源文件统一打包到一个JAR包中,方便进行部署和发布。

可以减少部署过程中的错误和问题。

4. 库文件管理:JAR包可以用来管理和分发Java库文件。

开发者可以将常用的库文件打包成JAR包,并在其他项目中使用。

5. 类库扩展:在Java中,可以通过类路径(CLASSPATH)来指定需要加载的类库。

而JAR包可以通过设置类路径来扩展Java的类库。

只需将JAR包加入到类路径中,就可以在代码中使用其中的类和方法。

6.版本管理:JAR包可以用来管理和分发不同版本的软件。

通过使用不同的JAR包命名规则或目录结构,可以区分不同版本的软件,方便用户选择特定版本的功能和功能。

7.防止类文件冲突:当使用多个第三方类库时,可能会发生类文件冲突的情况。

通过将每个类库打包成一个JAR包,并且每个类库中的类在包的结构中唯一,可以避免类文件冲突的问题,保证程序的正确运行。

8. 加载器和类加载:在Java中,类加载器负责将类文件加载到Java虚拟机中。

而JAR包是可以被类加载器加载的,可以通过类加载器的机制来加载JAR包中的类。

9. Java application扩展:JAR包可以作为Java应用程序的扩展,可以在运行时动态地加载和使用JAR包中的类和方法。

这种机制可以实现插件式的应用程序设计。

java -jar编译

java -jar编译

java -jar编译Java是一种广泛应用于开发各种应用程序的编程语言,它具有跨平台性和面向对象的特性。

编译是将源代码转换为可执行代码的过程,而Java的编译工具是java -jar命令。

本文将围绕这个命令展开,介绍它的用法、作用以及一些注意事项。

我们来了解一下java -jar命令的基本用法。

在命令行中输入java -jar,后面跟着的是一个可执行的jar文件的路径。

这样,Java虚拟机就会加载并运行这个jar文件中的主类。

通过这个命令,我们可以方便地运行打包好的Java应用程序。

那么,为什么要使用java -jar命令来编译Java程序呢?这是因为在Java中,源代码需要通过编译器将其转换为字节码文件(.class 文件),然后再由Java虚拟机执行。

而对于已经打包成jar文件的Java应用程序,我们可以直接使用java -jar命令来运行,无需再进行编译过程,这样可以简化应用程序的部署和运行。

在使用java -jar命令编译Java程序时,有一些需要注意的地方。

首先,需要确保系统已经安装了Java运行时环境(JRE),否则无法运行Java应用程序。

其次,需要保证jar文件中包含了一个可执行的主类,并且在MANIFEST.MF文件中指定了这个主类。

另外,如果jar文件中依赖了其他的jar文件,需要将这些依赖的jar文件一同放入classpath中,否则会导致运行时错误。

除了使用java -jar命令来运行Java应用程序,我们还可以使用它来执行其他操作。

例如,可以使用java -jar命令来解压缩jar文件,查看其中的内容。

可以使用java -jar命令来创建可执行的jar文件,将多个类文件打包成一个jar文件,方便部署和传播。

此外,还可以使用java -jar命令来签名jar文件,确保其来源可靠性。

在实际应用中,我们可以结合其他命令和工具来使用java -jar命令,以实现更复杂的功能。

用于解压jar文件的命令

用于解压jar文件的命令

用于解压jar文件的命令在软件开发过程中,我们经常会遇到需要解压jar文件的情况。

jar 文件是一种Java归档文件,包含了Java程序的类、资源文件等。

解压jar文件可以帮助我们查看、修改和提取其中的内容。

本文将介绍一些常用的命令,以帮助您轻松完成jar文件的解压操作。

一、使用jar命令解压jar文件jar命令是Java开发工具包(JDK)自带的命令行工具,可以用于创建、查看和解压jar文件。

要解压jar文件,可以使用以下命令:jar -xf <jar文件名>例如,要解压名为example.jar的jar文件,可以运行以下命令:jar -xf example.jar执行该命令后,jar文件将被解压到当前目录下的一个与文件名相同的文件夹中。

您可以在该文件夹中查看和修改jar文件中的内容。

二、使用unzip命令解压jar文件除了jar命令,还可以使用unzip命令解压jar文件。

unzip命令是Linux和Unix系统中常用的解压命令,也可以用于解压jar文件。

要解压jar文件,可以使用以下命令:unzip <jar文件名>例如,要解压名为example.jar的jar文件,可以运行以下命令:unzip example.jar执行该命令后,jar文件将被解压到当前目录下。

您可以在当前目录中查看和修改jar文件中的内容。

三、使用7-Zip解压jar文件除了命令行工具,还可以使用图形化界面的压缩软件7-Zip来解压jar文件。

7-Zip是一款开源的压缩软件,支持多种格式的压缩文件,包括jar文件。

要解压jar文件,可以按照以下步骤进行操作:1. 下载并安装7-Zip软件;2. 打开7-Zip软件,找到要解压的jar文件;3. 右键点击jar文件,选择“7-Zip”菜单,然后选择“解压到指定文件夹”;4. 选择解压的目标文件夹,点击“确定”按钮。

执行以上步骤后,jar文件将被解压到指定的文件夹中。

JAR命令&JAR包详解

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命令格式: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包的文件名-v 生成详细的报造,并输出至标准设备-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置) -0 产生jar包时不对其中的内容进行压缩处理-M 不产生所有文件的清单文件(Manifest.mf)。

这个参数与忽略掉-m参数的设置-i 为指定的jar文件创建索引文件-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令<!--==========================================-->二.jar使用范例:(1)创建jar包jar cf hello.jar hello 利用test目录生成hello.jar包,如hello.jar存在,则覆盖(2)创建并显示打包过程jar cvf hello.jar hello 利用hello目录创建hello.jar包,并显示创建过程例:E:\>jar cvf hello.jar hello标明清单(manifest)增加:hello/(读入= 0) (写出= 0)(存储了 0%)增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)(3)显示jar包jar tvf hello.jar 查看hello.jar包的内容指定的jar包必须真实存在,否则会发生FileNoutFoundException。

java-jar命令用法

java-jar命令用法

java-jar命令用法java -jar命令是Java平台提供的用于运行独立的Java应用程序的命令。

它可以用于执行任何已经打包成可执行JAR文件的Java应用程序。

在本文中,我们将详细介绍java -jar命令的用法,包括常用选项和示例。

1.语法- 选项:用于指定Java虚拟机的选项,例如-Xmx、-Xms等等,以及其他类似于设置系统属性的选项。

- <jar文件>:要执行的JAR文件的路径。

可以是绝对路径或相对路径。

- 参数:传递给JAR文件的命令行参数。

这些参数将被传递给JAR文件内的主类的main方法。

2.常用选项以下是常见的java -jar命令的选项:- -cp <class search path of directories and zip/jar files>:设置类路径,用于指定Java类的路径,包括目录和JAR文件。

- -Xmx<size>:设置JVM堆的最大大小,例如-Xmx512m表示将JVM的最大堆大小设置为512兆字节。

- -Xms<size>:设置JVM堆的初始大小,例如-Xms256m表示将JVM的初始堆大小设置为256兆字节。

- -Xss<size>:设置线程栈的大小,例如-Xss1m表示将线程栈的大小设置为1兆字节。

- -D<name>=<value>:设置系统属性的值,例如-Djava.awt.headless=true表示将Java的头部设置为无头模式。

- -verbose:class:打印有关类加载器的详细信息,包括类的加载和卸载。

- -verbose:gc:打印有关垃圾回收的详细信息,包括垃圾回收的开始和结束。

- -version:显示Java运行时环境的版本。

3.示例以下是一些java -jar命令的示例:- java -jar MyApp.jar:运行名为MyApp.jar的JAR文件。

【Java基础】Jar包结构结构分析和操作具体解释

【Java基础】Jar包结构结构分析和操作具体解释

【Java基础】Jar包结构结构分析和操作具体解释作者:郭嘉邮箱:allenwells@博客:github:⼀ JAR包结构分析JAR(Java Archive FIle)Java归档⽂件,是Java标准的⽂档格式,是⼀个或多个Java字节码⽂件的打包压缩⽂件。

採⽤常见的ZIP压缩算法,和ZIP⽂件⼗分相似,能够直接解压。

JAR⽂件主要⽤来压缩和公布字节码⽂件,并且还⽤于部署和封装库、组件和插件程序。

并且能够被像编辑器和JVM这种⼯具直接使⽤。

1.1 JAR包结构JAR包的结构例如以下图所看到的:1.2 MANIFEST.MF属性从上图能够看出,JAR包⽐普通zip⽂件多了⼀个META-INF⽂件夹,该⽂件夹下包括了⼀个MANFEST.MF⽂件。

1.2.1 ⼀般属性1. Manifest-Version⽤来定义manifest⽂件的版本号,⽐如:Manifest-Version: 1.02. Created-By声明该⽂件的⽣成者,⼀般该属性是由jar命令⾏⼯具⽣成的。

⽐如:Created-By: Apache Ant 1.5.13. Signature-Version定义jar⽂件的签名版本号4. Class-Path应⽤程序或者类装载器使⽤该值来构建内部的类搜索路径1.2.2 应⽤程序相关属性1. Main-Class定义jar⽂件的⼊⼝类。

该类必须是⼀个可运⾏的类,⼀旦定义了该属性就可以通过 java -jar x.jar来运⾏该jar⽂件。

1.2.3 ⼩程序(Applet)相关属性1. Extendsion-List该属性指定了⼩程序须要的扩展信息列表。

列表中的每⼀个名字相应以下的属性2. -Extension-Name3. -Specification-Version4. -Implementation-Version5. -Implementation-Vendor-Id6. -Implementation-URL1.2.4 扩展标识属性1. Extension-Name该属性定义了jar⽂件的标识,⽐如Extension-Name: Struts Framework。

Java中的文件压缩与解压缩方法

Java中的文件压缩与解压缩方法

Java中的文件压缩与解压缩方法在日常的开发工作中,文件的压缩与解压缩是一个常见的需求。

Java作为一种广泛使用的编程语言,提供了丰富的类库和方法来实现这一功能。

本文将介绍Java中常用的文件压缩与解压缩方法,并探讨它们的优缺点以及适用场景。

一、文件压缩方法1. Zip压缩Zip是一种常见的文件压缩格式,Java提供了java.util.zip包来实现对Zip文件的压缩和解压缩操作。

使用Zip压缩文件可以将多个文件或文件夹打包成一个压缩文件,方便传输和存储。

在Java中,可以使用ZipOutputStream类来创建一个Zip文件,并使用ZipEntry类来表示Zip文件中的每个文件或文件夹。

下面是一个简单的示例代码:```javaimport java.io.*;import java.util.zip.*;public class ZipUtil {public static void zipFile(String sourceFilePath, String zipFilePath) {try {FileOutputStream fos = new FileOutputStream(zipFilePath);ZipOutputStream zos = new ZipOutputStream(fos);File file = new File(sourceFilePath);zipFile(file, file.getName(), zos);zos.close();fos.close();} catch (IOException e) {e.printStackTrace();}}private static void zipFile(File file, String fileName, ZipOutputStream zos) throws IOException {if (file.isDirectory()) {File[] files = file.listFiles();for (File f : files) {zipFile(f, fileName + "/" + f.getName(), zos);}} else {FileInputStream fis = new FileInputStream(file);ZipEntry zipEntry = new ZipEntry(fileName);zos.putNextEntry(zipEntry);byte[] buffer = new byte[1024];int len;while ((len = fis.read(buffer)) > 0) {zos.write(buffer, 0, len);}fis.close();}}}```上述代码中,zipFile方法用于递归压缩文件夹中的所有文件和子文件夹。

jar运行原理

jar运行原理

jar运行原理一、什么是jar文件?JAR(Java Archive)是一种用于存储多个Java文件的压缩文件格式。

它将所有的Java类、资源文件和元数据打包到一个文件中,方便部署、传输和共享。

二、jar文件的结构一个jar文件实际上是一个ZIP格式的文件,它包含了多个文件和目录。

在jar文件的根目录下,通常会包含META-INF目录,它用于存储一些元数据信息,比如MANIFEST.MF文件。

MANIFEST.MF文件是一个纯文本文件,它包含了jar文件的一些描述信息,比如版本号、创建时间等。

三、jar文件的运行原理当我们要运行一个jar文件时,通常需要使用Java虚拟机(JVM)。

JVM负责解析和执行jar文件中的Java字节码。

1. 类加载器JVM在运行jar文件时,会使用类加载器来加载jar文件中的类。

类加载器负责从jar文件中读取字节码,并将其转换成可执行的Java类。

JVM提供了多个类加载器,比如启动类加载器、扩展类加载器和应用程序类加载器,它们分别负责加载不同位置的类文件。

2. 类路径JVM在加载类时会搜索类路径(Classpath),类路径是一个包含多个目录和jar文件的列表。

当我们运行一个jar文件时,JVM会将该jar文件添加到类路径中,以便能够找到并加载其中的类。

3. 入口类一个jar文件中通常会包含一个或多个入口类(Main Class),入口类是jar文件的入口点,JVM会从入口类开始执行程序。

当我们使用java命令来运行一个jar文件时,需要指定入口类的全限定名。

4. MANIFEST.MF文件MANIFEST.MF文件中的Main-Class属性指定了jar文件的入口类。

当我们使用java命令来运行一个jar文件时,JVM会读取MANIFEST.MF文件中的Main-Class属性,并从指定的入口类开始执行程序。

5. 资源文件除了Java类,jar文件还可以包含其他类型的文件,比如图片、配置文件等。

java压缩文件解压:调用WinRAR5命令强于自己写代码实现

java压缩文件解压:调用WinRAR5命令强于自己写代码实现

java压缩⽂件解压:调⽤WinRAR5命令强于⾃⼰写代码实现最近,⼿上维护着⼀个⼏年前的系统,技术是⽤的JSP+Strust2,系统提供了rar和zip两种压缩格式的解压功能,后台是⽤java实现的1、解压rar格式,采⽤的是java-unrar-0.3.jar2、解压zip格式,采⽤的是commons-compress-1.4.1.jar但最近根据⽤户反馈的问题,发现系统存在两个关于压缩⽂件解压的问题:1、有些压缩⽂件解压之后出现中⽂乱码;2、有些压缩⽂件根本不能解压为了弥补上述两个问题,在之前代码的基础上打了⼀些补丁,来解决zip压缩包乱码的问题,思路⼤概是:1、采⽤GBK编码解压2、递归遍历解压的⽂件名是否存在中⽂乱码,这⽤到了⽹上很常⽤的中⽂检测正则表⽰式,[\u4e00-\u9fa5]+3、如果存在中⽂乱码,则采⽤UTF-8编码解压替换后,还是有⼈反映乱码问题,烦~~~第⼆个问题报错如下(出现在有些rar格式解压时):WARNING: exception in archive constructor maybe file is encrypted or curruptde.innosystec.unrar.exception.RarException: badRarArchiveat de.innosystec.unrar.Archive.readHeaders(Archive.java:238)at de.innosystec.unrar.Archive.setFile(Archive.java:122)at de.innosystec.unrar.Archive.<init>(Archive.java:106)at de.innosystec.unrar.Archive.<init>(Archive.java:96)at com.reverse.zipFile.CopyOfZipFileUtil.unrar(CopyOfZipFileUtil.java:242)at com.reverse.zipFile.CopyOfZipFileUtil.main(CopyOfZipFileUtil.java:303)借助百度、⾕歌找资料发现:1、java解压⽂件有两种⽅式,⼀是⾃⼰写代码,⼆是调⽤压缩软件CMD执⾏2、第⼆个错误是由于WinRAR5之后,在rar格式的基础上,推出了另⼀种rar,叫RAR5,⽽java-unrar解析不了这种格式查看rar格式属性可以通过右键 —> 属性查看,如图因此需要舍弃代码解压的⽅式,改为CMD调⽤的⽅式,虽然压缩软件有很多,但从⽹上能找到执⾏命令的,也就WinRAR了,所以我们采⽤WinRAR5之后的版本解决,5之前的版本肯定是不⾏的了使⽤cmd⽅式效果如何呢?既能解决中⽂乱码问题,⼜能解压RAR5压缩⽂件,⽽且代码量还更少了,⽀持的格式也更多了。

如何在Java中进行文件压缩和解压缩操作

如何在Java中进行文件压缩和解压缩操作

如何在Java中进行文件压缩和解压缩操作文件压缩和解压缩是程序开发中常见的操作,通过压缩可以减小文件的大小,节省存储空间,并且可以快速传输文件。

Java中提供了多种压缩和解压缩文件的方式,如ZipOutputStream和ZipInputStream等类。

本文将详细介绍在Java中进行文件压缩和解压缩的操作步骤和示例代码。

一、文件压缩文件压缩是将一个或多个文件打包成一个压缩文件,常见的压缩文件格式包括zip、tar、gz等。

在Java中,通常使用ZipOutputStream类实现文件压缩操作。

ZipOutputStream类是用于写入ZIP文件的输出流。

1.创建ZipOutputStream对象首先需要创建一个ZipOutputStream对象,用于写入ZIP文件。

可以通过FileOutputStream将ZipOutputStream链接到一个文件,然后就可以向文件中写入压缩数据。

```javaFileOutputStream fos = newFileOutputStream("compressed.zip");ZipOutputStream zos = new ZipOutputStream(fos);```2.添加文件到压缩文件接下来需要将要压缩的文件添加到ZipOutputStream中。

可以通过ZipEntry对象表示压缩文件中的每个文件或目录,并使用putNextEntry方法将文件添加到压缩文件中。

```javaFile file1 = new File("file1.txt");ZipEntry entry1 = new ZipEntry(file1.getName());zos.putNextEntry(entry1);FileInputStream fis1 = new FileInputStream(file1);byte[] buffer = new byte[1024];int length;while ((length = fis1.read(buffer)) > 0) {zos.write(buffer, 0, length);}zos.closeEntry();fis1.close();```3.完成压缩完成文件的添加后,需要关闭ZipOutputStream,以确保压缩文件保存到磁盘。

Javajar包、程序运行参数

Javajar包、程序运行参数

Javajar包、程序运⾏参数jar包JAR⽂件全称 Java Archive File,意为Java档案⽂件。

JAR⽂件是⼀种压缩⽂件,也被称为JAR包。

JDK的bin⽬录下有个jar.exe,负责jar包的相关操作。

⽣成.jar包:1、File->Project Structure->Artifacts-> + ->JAR->Empty->2、设置Jar⽂件名、Jar⽂件所在⽬录-将右边需要打包到jar包的内容拖到左边的项⽬中(compile output是必选的,第三⽅的jar包也要选)->3、[单击左边的.jar⽬录,下⽅会出现对应选项->Create Manifest->选择MANIFEST.MF⽂件的⽣成⽬录(项⽬下的任何⽬录均可,通常选项⽬名)->选择主类(也可以在.MF中⼿动添加⼀⾏:Main-Class: 包名.主类名)->]4、ok->Build->Build Artifacts->Build。

第三步是⽣成可执⾏的.jar包(带主类)。

缺省第三步,只⽣成普通的.jar包(不可执⾏)在命令提⽰符下执⾏可执⾏的.jar⽂件:1、切换到jdk所在盘符 d: 不能加\2、切换到java.exe所在⽬录 cd D:\jdk-12.0.1\bin如果path系统环境变量添加了jdk的bin⽬录,则可跳过前两步3、运⾏可执⾏的jar包 java -jar C:\Users\chy\Desktop\untitled\out\artifacts\unnamed\unnamed.jar程序运⾏参数Java主函数形式:public static void main(String[] args){......}也就是说可以向Java程序传递⼀个String[]。

1、在IDEA中debug、run时向JVM传递参数:Edit Configurations->Program arguments2、在命令提⽰符下执⾏主类:java 主类名字符串1 字符串2 字符串3......3、在命令提⽰符下执⾏可执⾏的.jar包:java -jar C:\Users\chy\Desktop\untitled\out\artifacts\unnamed\unnamed.jar 字符串1 字符串2 字符串3.....字符串1 字符串2 字符串3......以空格分开,字符串不⽤加引号。

JavaJar包压缩、解压使用

JavaJar包压缩、解压使用

JavaJar包压缩、解压使⽤
什么是jar包
JAR(Java Archive)是Java的归档⽂件,它是⼀种与平台⽆关的⽂件格式,它允许将许多⽂件组合成⼀个压缩⽂件。

如何打/解包
使⽤jdk/bin/jar.exe⼯具,配置完环境变量后直接使得jar命令即可。

jar命令格式
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包的⽂件名
-v 输出详细报告
-m 指定MANIFEST.MF⽂件
-0 ⽣成jar包时不压缩内容
-M 不⽣成清单⽂件MANIFEST.MF
-i 为指定的jar⽂件创建索引⽂件
-C 可在相应的⽬录下执⾏命令
关于MANIFEST.MF定义:
演⽰
往jar包添加⽂件
jar uf xxx.jar BOOT-INF/classes/application.yml
解压jar包
jar -xvf xxx.jar
打jar包,不⽣成清单⽂件,不压缩
jar -cvfM0 xxx.jar BOOT-INF/ META-INF/ org/
或者
jar -cvfM0 xxx.jar *
如果要往线上jar包添加、更新部分⽂件到jar包,这些命令也许对你有⽤。

java -jar 执行 方法

java -jar 执行 方法

Java是一种广泛应用的编程语言,其灵活性和强大的功能使其在软件开发领域得到了广泛的运用。

在Java编程中,我们常常会用到java -jar命令来执行一些特定的方法或程序。

本文将从执行方法的基本语法、常见问题及解决方法等方面进行介绍,以帮助读者更好地理解和应用java -jar命令。

一、java -jar执行方法的基本语法在Java编程中,我们可以使用java -jar命令来执行一个打包成jar包的程序或方法。

其基本语法如下:java -jar <jar文件名> [参数]其中,<jar文件名>表示要执行的jar包文件名,参数是可选的,可以在执行方法时传入给程序。

在执行java -jar命令时,需要在命令行中切换到jar包所在的目录,然后输入以上命令即可执行指定的程序或方法。

二、java -jar执行方法的常见问题及解决方法在使用java -jar命令执行方法时,有时会遇到一些常见的问题,下面将介绍一些常见问题及其解决方法:1. 无法找到或加载主类当执行java -jar命令时,如果出现"无法找到或加载主类"的错误提示,这通常是由于指定的jar包中的MANIFEST文件中未正确指定主类名所致。

解决方法是打开MANIFEST文件并检查M本人n-Class项是否正确指定了主类名,确保没有拼写错误。

2. 缺少依赖库有时在执行java -jar命令时,会出现"找不到类xxx"的错误提示,这通常是由于jar包所需的依赖库未正确引入或缺失所致。

解决方法是在编译jar包时将所需的依赖库一起打包进去,或者将依赖库放在与jar包相同的目录下。

3. 参数传递错误当执行java -jar命令需要传递参数给程序时,有时会因参数传递错误而导致程序出现异常或错误。

解决方法是检查传递的参数是否符合程序要求,并且要注意参数的顺序和格式是否正确。

三、java -jar执行方法的注意事项在使用java -jar命令执行方法时,还需要注意一些事项,以确保程序能够正常执行:1. 确保jar包正确打包在执行java -jar命令时,需要确保jar包已经正确打包,并且MANIFEST文件中正确指定了主类名和依赖库。

jar包的使用方法

jar包的使用方法

jar包的使用方法一、什么是jar包在Java开发中,jar包(Java Archive)是一种用于存放Java类、资源文件和元数据的文件格式。

它是一种压缩文件,通常以.jar作为文件扩展名。

jar包可以将多个Java文件打包成一个文件,方便程序的分发和部署。

二、安装jar包安装jar包非常简单,只需要将jar包文件复制到Java项目的classpath路径下即可。

classpath是Java程序搜索类和资源文件的路径。

一般情况下,可以将jar包放置在项目的lib目录下,然后在项目的构建配置中添加jar包的依赖项。

三、使用jar包使用jar包可以通过两种方式:命令行方式和集成开发环境(IDE)方式。

1. 命令行方式在命令行中使用jar包,可以通过Java命令来执行jar包中的主类。

假设我们有一个名为example.jar的jar包,其中包含一个名为com.example.Main的主类。

可以使用以下命令执行该jar包:```java -jar example.jar```2. 集成开发环境(IDE)方式在集成开发环境中,可以通过添加jar包的依赖项来使用它。

不同的IDE有不同的配置方法,以Eclipse为例,可以按照以下步骤添加jar包的依赖项:- 右击项目,选择"Properties";- 在弹出的对话框中,选择"Java Build Path";- 在"Libraries"选项卡中,点击"Add JARS..."按钮;- 选择jar包文件并点击"OK"按钮。

四、使用示例下面以一个简单的示例来演示如何使用jar包。

假设我们有一个Java项目,其中包含两个类:Main.java和Util.java。

Util.java提供了一个用于计算两个整数之和的方法add()。

现在我们希望将这两个类打包成一个jar包,并在另一个项目中使用它。

14.JAVA-jar命令使用

14.JAVA-jar命令使用

14.JAVA-jar命令使⽤
介绍
jar命令⽤来对*.class⽂件进⾏压缩,从⽽⽣成jar(archive)归档⽂件,避免⽂件过多.
定义⼀个⽂件:
package common.demo ;
public class Test
{
public static void main(String args[]){
System.out.println("Hello World");
}
}
编译后,⽣成包.类,然后将这个common包进⾏压缩为jar⽂件.输⼊下⾯命令:
jar –cvf my.jar common //将common⽬录创建为⼀个jar⽂件
//c:创建 v:打印输出 f:指定的jar⽂件
打印如下:
当我们想往my.jar添加其它包的时候,输⼊:
jar uf my.jar call //往my.jar ⾥添加call包
如果想解压jar包,则输⼊:
jar -xvf my.jar
当我们想通过外部程序调⽤该路径的jar包时,则需要配置CLASSPATH,如果在命令⾏,则输⼊"SET CLASSPATH=当前路径;",或者在电脑——>属性——>⾼级——>环境变量——>系统变量⾥添加变量名CLASSPATH,并设置变量值(路径).
设置好后,就可以在程序⾥直接通过"import common.demo ;"来使⽤jar⽂件⾥的包类了.。

jar包解压和压缩

jar包解压和压缩

jar包解压和压缩JAR ⽂件就是Java Archive ( Java 档案⽂件),它是 Java 的⼀种⽂档格式。

JAR ⽂件⾮常类似 ZIP ⽂件准确的说,它就是 ZIP ⽂件,所以叫它⽂件包。

JAR ⽂件与 ZIP ⽂件唯⼀的区别就是在 JAR ⽂件的内容中,多出了⼀个META-INF/MANIFEST.MF ⽂件,这个⽂件是在⽣成 JAR ⽂件的时候⾃动创建的(也可以⾃⾏创建)1. jar包还原Soring boot 项⽬jar包解压之后修改⽂件之后在不依靠开发⼯具的情况下重新压缩jar包打包命令如下:jar -cvf0M xxx.jar BOOT-INF/ META-INF/ org/具体操作[admin@custmer-development-d apps_other]$ lltotal 20736-rw-rw-r--. 1 admin admin 21224413 Nov 18 10:36 alert-0.0.1-SNAPSHOT.jardrwxr-xr-x. 4 admin admin 67 Nov 18 10:35 BOOT-INFdrwxr-xr-x. 3 admin admin 36 Nov 18 10:35 META-INFdrwxr-xr-x. 3 admin admin 28 Feb 1 1980 org[admin@custmer-development-d apps_other]$ jar -cvf0M alert.jar BOOT-INF/ META-INF/ org/[admin@custmer-development-d apps_other]$ lltotal 60256-rw-rw-r--. 1 admin admin 21224413 Nov 18 10:36 alert-0.0.1-SNAPSHOT.jar-rw-r--r--. 1 admin admin 19095463 Nov 20 18:27 alert.jardrwxr-xr-x. 4 admin admin 67 Nov 18 10:35 BOOT-INFdrwxr-xr-x. 3 admin admin 36 Nov 18 10:35 META-INFdrwxr-xr-x. 3 admin admin 28 Feb 1 1980 org[admin@custmer-development-d apps_other]$ java -jar alert.jar. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.4.0)2020-11-20 18:30:27 [main] INFO cn.AlertApplication -Starting AlertApplication v0.0.1-SNAPSHOT using Java 1.8.0_60 on custmer-development-d-031162.te.td with PID 10833 (/home/admin/apps_other/alert01.jar started by admin in /home/adm 2020-11-20 18:30:27 [main] INFO cn.AlertApplication -The following profiles are active: dev2020-11-20 18:30:29 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer -Tomcat initialized with port(s): 8082 (http)2020-11-20 18:30:29 [main] INFO org.apache.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-8082"]2020-11-20 18:30:29 [main] INFO org.apache.catalina.core.StandardService -Starting service [Tomcat]2. jar常⽤命令压缩jar -cvf xxx.jar解压jar -xvf xxx.jar更新jar -uvf xxx.jar BOOT-INF/classes/application-dev.yml列出jar包内容jar -tvf xxx.jar运⾏jarjava -jar xxx.jarjava -jar xxx.jar &nohup java -jar &&表⽰在当窗⼝关闭时,程序才会中⽌运⾏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java 压缩命令jar
jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。

jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。

然而,设计jar的主要目的是便于将java Applet或应用程序打包成单个归档文件。

将Java Applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以通过浏览器等进行下载,这大大缩短了下载时间。

jar还能压缩文件,从而进一步提高了下载速度。

jar [命令选项] [manifest] destination input-file [input-files]
其命令选项的详细参数如下:
● c 在标准输出上创建新归档或空归档。

●t 在标准输出上列出内容表。

●x[file] 从标准输入提取所有文件,或只提取指定的文件。

如果省略了file,则提取所
有文件;否则只提取指定文件。

● f 第二个参数指定要处理的jar文件。

在c(创建)情形中,第二个参数指的是要创建
的jar文件的名称(不是在标准输出上)。

在t或x(表或抽取)这两种情形中,x指定
要列出或抽取的jar文件。

●v 在标准错误输出设备上生成长格式的输出结果。

●m 包括指定的现有清单文件中的清单信息,如“jar cmf myManifestFile myJarFile
*.class”。

●O 只储存,不进行ZIP压缩。

●M 不创建项目的清单文件。

●u 通过添加文件或更改清单来更新现有的JAR文件,如“jar -uf foo.jar foo.class”将
文件foo.class添加到现有的JAR文件foo.jar中;而“jar umf manifest foo.jar”则用manifest
中的信息更新foo.jar的清单。

● C 在执行jar命令期间更改目录,如“jar -uf foo.jar -C classes *”将classes目录内的
所有文件加到foo.jar中,但不添加类目录本身。

通过上述内容,使用jar命令可以非常方便的,将一些Java文件合并或者压缩成jar文件。

例如,将“F:\workspace”文件夹中,所有.class文件打包成JAR文件。

首先,输入两次“cd..”命令,并按【回车】键,退到C盘根目录。

再输入“cd workspace”命令,按【回车】键,进行workspace文件夹,如图1-18所示。

然后,在命令提示符下,输入“jar cf file.jar *.class”命令,并按【回车】键,将class文件合并成file.jar文件,如图1-19所示。

图1-18 进行目录文件夹图1-19 合并class文件
最后,可以打开F盘中的workspace文件夹,并查看所合并的file.jar文件,如图1-20所示。

图1-20 查看合并的jar文件
在查看workspace文件夹时,可以看到该文件夹中,包含有HelloWorld.class和WangNianLi.class两看class文件夹。

下面可以通过jar命令来验证一下,在file.jar 文件中,包含几个class文件。

例如,在命令提示符中,输入“jar tf file.jar”命令,并按【回车】键,如图1-21所示。

图1-21 查看jar文件
此时,在【命令提示符】窗口中,将显示出“META-INF/”、“META-INF/MANIFEST.MF”、“HelloWorld.class”和“WangNianLi.class”文件及文件夹。

相关文档
最新文档