`

JAR打包

 
阅读更多
JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,
而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。

一个 JAR 文件可以用于:

用于发布和使用类库 
作为应用程序和扩展的构建单元 
作为组件、applet 或者插件程序的部署单位 
用于打包与组件相关联的辅助资源 
JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP 或者 TAR 所没有提供的。它们包括:
安全性。
减少下载时间
压缩
传输平台扩展。
包密封。
包版本控制。
可移植性。


可执行的 JAR
一个可执行的 jar 文件是一个自包含的 Java 应用程序,它存储在特别配置的JAR 文件中,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径。
要运行存储在非可执行的 JAR 中的应用程序,必须将它加入到您的类路径中,并用名字调用应用程序的主类。但是使用可执行的 JAR 文件,
我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。可执行 JAR 有助于方便发布和执行 Java 应用程序。

创建可执行 JAR
创建一个可执行 JAR 很容易(jar cvf cal.jar *.class ),首先将所有应用程序代码放到一个目录中。假设应用程序中的主类是 com.mycompany.myapp.Sample。您要创建一个包含应用程序代码的 JAR 文件并标识出主类。
为此,在某个位置(不是在应用程序目录中)创建一个名为 manifest 的文件,并在其中加入以下一行:

Manifest-Version: 1.0
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
Main-Class: com.mycompany.myapp.Sample//不要忘了回车

然后,像这样创建 JAR 文件:

jar cvfm cal.jar manifest.mf *.class 

所要做的就是这些了 -- 现在可以用 java -jar 执行这个 JAR 文件 cal.jar。

一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。

启动可执行 JAR
既然我们已经将自己的应用程序打包到了一个名为 ExecutableJar.jar 的可执行 JAR 中了,那么我们就可以用下面的命令直接从文件启动这个应用程序:

java -jar ExecutableJar.jar

 

分享到:
评论

相关推荐

    jar打包工具 jar

    本人经历三天制作出炉的jar打包工具,请大家下载试用。

    将jar打包成exe并动态绑定jre再打包成安装文件

    【将jar打包成exe并动态绑定jre再打包成安装文件】 在Java开发中,为了提高用户友好性和方便部署,我们可以将Java应用打包成可执行的exe文件,并且结合JRE一起打包成安装文件。这一过程可以大大简化用户的安装和...

    jar打包工具fatjar

    jar打包工具fatjar。将net.sf.fjep.fatjar_0.0.32.jar文件放在eclipse\plugins目录下,重启eclipse即可。

    Fat jar打包Java工具

    这里的"plugins"目录可能包含的就是用于在Eclipse中实现Fat jar打包的特定插件。 使用Fat jar打包工具有以下几个关键步骤: 1. **项目准备**:首先,确保你的Java项目已经完成编码并进行了必要的测试,所有的类...

    将JAR打包成EXE,并且生成安装文件

    标题中的“将JAR打包成EXE,并且生成安装文件”指的是将Java应用程序打包成可执行的Windows程序(EXE格式),以便非Java环境的用户也能方便地运行。这一过程通常涉及将Java的JAR文件转换为Windows的可执行文件,并...

    JAR打包为EXE文件的工具软件jsmooth-0.9.9-7

    1. **生成可执行文件**:JSmooth的核心功能是将JAR文件打包成EXE格式,这样用户只需双击即可运行程序,无需复杂的配置或安装JVM。 2. **集成JVM**:JSmooth会自动检测并包含适当的JVM版本,确保应用程序能在没有...

    Eclipse jar打包详解

    Eclipse jar打包详解 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速地开发、测试和调试应用程序。其中,Eclipse 的 jar 打包功能是开发者常用的一个功能,它...

    Jar打包(解决eclipse无法打包含有第三方架包问题)

    在Java开发过程中,将项目打包成可执行的JAR文件是一项常见的任务,这使得应用程序能够独立于开发环境运行。然而,Eclipse IDE在默认情况下,对于包含第三方库的项目打包时可能会遇到问题,因为它并不自动将这些依赖...

    json-lib-2.4-jdk15.jar全部JAR打包直接用

    然而,对于那些不使用这些工具或者没有自动管理依赖的项目,直接使用`json-lib-2.4-jdk15.jar`的全部JAR打包方式可以避免配置繁琐的依赖关系,简化了开发流程。 `json-lib`库提供了多种Java对象与JSON之间的转换...

    fat-Jar打包插件

    【fat-Jar打包插件】是一种在Java开发中常用的工具,它的主要作用是将一个项目的所有依赖库(包括第三方jar包)与源代码一起打包成一个独立的jar文件,因此被称为"fat"或"uber"jar。这个插件极大地简化了项目的部署...

    命令行下jar打包及运行

    ### 命令行下JAR打包及运行详解 #### 概述 在日常的软件开发过程中,我们经常需要将编写的Java程序打包为可执行的JAR文件,并且能够在命令行环境中直接运行这些程序。这种方式不仅可以提高工作效率,还便于进行...

    j2ewiz jar打包exe

    标题中的“j2ewiz jar打包exe”指的是使用j2ewiz工具将Java的jar文件转换为可执行的Windows程序(exe文件)。这个过程对于那些希望在不安装Java环境的计算机上运行Java应用程序的开发者来说非常有用。下面将详细介绍...

    fat jar打包插件

    本文将深入探讨"fat jar打包插件"的概念、用途及实现方式。 "fat jar"这个名字源于它包含"肥胖"的特性,即它整合了项目的所有依赖,使得用户无需额外配置类路径就能直接运行。这对于独立部署和简化部署流程非常有...

    jar打包工具

    描述中提到的"VC 开发的jar打包工具VC6.0下编译成功"意味着这个特定的jar打包工具是在Visual C++ 6.0环境下开发的,并且已经成功地在这个集成开发环境中进行了编译。这通常意味着该工具可能是一个用C++编写的命令行...

    基于Kotlin和Java的AndroidStudio JAR打包Unity调用设计源码 - AndroidStudio_jar

    本源码提供了一个基于Kotlin和Java的AndroidStudio JAR打包Unity调用设计。项目包含45个文件,其中包括14个XML文件、10个PNG文件、3个gitignore文件、3个JAR文件、3个Gradle文件、2个Markdown文档、2个Kotlin文件、2...

    Java进阶学习jar打包详解

    Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解

    jar打包成windows服务工具

    标题中的“jar打包成windows服务工具”指的是使用特定的工具或方法将Java应用程序(通常是一个.jar文件)转换为Windows操作系统下的服务。这样做的目的是使得Java应用程序可以在系统启动时自动运行,类似于其他...

    Fatjar打包第三方包

    在Java开发过程中,有时我们需要将项目打包成一个可独立运行的JAR文件,这样就可以在没有IDE或构建工具的环境中直接执行。Fatjar是一个非常实用的工具,它能帮助我们实现这一目标,尤其是在处理包含大量第三方库依赖...

    fatjar打包工具

    【fatjar打包工具】是一种非常实用的Java项目打包工具,它允许开发者将整个项目的依赖库合并到一个单一的JAR(Java Archive)文件中,因此被称为"fat"或"uber" JAR。这个工具解决了在运行Java应用程序时,因为缺少...

    将jar打包成exe脱离jdk环境运行的方法.

    在Java开发中,我们经常需要将程序打包成可执行文件...总的来说,将.jar打包成.exe是Java开发者为了提高用户体验和方便部署的一个常见做法。通过选择合适的工具和配置,我们可以确保Java程序在各种环境下都能顺利运行。

Global site tag (gtag.js) - Google Analytics