`

jar文件

 
阅读更多
    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,就是将原先零散的文件压缩成一个文件,主要就是class文件,还有资源文件,比如配置文件、图片等。但是,jar文件本身并不能表达所包含应用程序的标签信息。 Manifest 因此得以出现。

    为了要提供存档的标签信息,jar 文件指定了一个特定目录来存放标签信息:META-INF 目录,其中我们来关注该目录中的MANIFEST.MF文件,他就是JAR的manifest文件,他包含了JAR文件的内容描述,并在运行时向JVM提供应用程序的信息,大多数JAR文件含有一个默认生成的manifest 文件,执行JAR命令或使用zip工具,都可以产生它
如果是由jar命令产生的 manifest 文件,形如:
Manifest-Version: 1.0
Created-By:1.4.0-beta
(Sun Microsystems Inc.)

    这些信息没甚么用,仅仅告诉我们使用的是1.0的manifest文件,第一行定义manifest的格式,第二行说明使用 SUN 的JDK1.4的jar工具生成该文件,如果manifest文件是由其他 (如ant) 创建的,那将会出现 “Created-By: Ant 1.2” 之类的内容,如果你是自己创建manifest文件,你可以加入自己的一些相关信息. 基础格式 manifest 文件的格式 是很简单的,每一行都是 名-值 对应的:属性名开头,接着是 ":" ,然后是属性值,每行最多72个字符,如果需要增加,你可以在下一行续行,续行以空格开头,以空格开头的行都会被视为前一行的续行。把manifest文件插入JAR文件 使用 m 选项,把指定文件名的manifest文件 传入,例如
jar cvfm myapplication.jar myapplication.mf [-C]classdir
如果你使用ant来创建时,在ant 的build.xml 加入如下条目
<target name="jar">
<jar jarfile ="myapplication.jar"
manifest="myapplication.mf">
<fileset dir="classdir"
includes="**/*.class"/>
</jar>
</target>
运行Java程序
现在我们来体验一下manifest文件的作用,如果现在我们有一个Java 应用程序打包在myapplication.jar中, main class为 com.example.myapp.MyAppMain ,那么我们可以用以下的命令来运行
java -classpath myapplication.jar com.example.myapp.MyAppMain
这显然太麻烦了,现在我们来创建自己的manifest文件,如下:
Manifest-Version: 1.0
Created-By: JDJ example
Main-Class: com.example.myapp.MyAppMain
这样我们就可以使用如下的命令来运行程序了:(明显简单多了,也不会造成无谓的拼写错误)
java -jar myapplication.jar



    如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自己自定义配置文件MANIFEST.MF ,内容示例如下:

Manifest-Version: 1.0
Class-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jar lib\log4j-1.2.13.jar lib\mysql-connector-java-3.1.13-bin.jar
Main-Class: src.YourMainClassName

其中的Class-Paht就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。

最后介绍一下使用Eclipse制作jar包的过程吧:

1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;

2. 选择Java/JAR file,Next;

3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;

这里有几个选项:

    * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
    * Export all output folders for checked projects 表示导出选中项目的所有文件夹
    * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
    * Export refactorings for checked projects 把一些重构的信息文件也包含进去

在Select the export destination中选择导出的jar的路径,Next

4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next

5. 下一个页面里可以对项目做一些配置。

    * Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
    * Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
    * Seal content。要封装整个jar或者指定的包packet
    * Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

最后Finish,搞定。
分享到:
评论

相关推荐

    Java打包成jar文件,以及将jar文件导出为exe文件方法汇总[汇编].pdf

    Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总 本文档将详细介绍 Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总。Java 是一种流行的编程语言,广泛应用于软件开发、Android 应用开发...

    JAR文件包及jar命令详解

    JAR文件不仅方便了代码的分发和存储,还支持压缩,减少了文件占用的空间。此外,JAR文件也支持版本管理和安全特性,比如数字签名。 **JAR文件的结构** JAR文件本质上是一个ZIP文件,包含了一系列的类文件和其他资源...

    JAR文件读取工具

    **JAR文件读取工具详解** Java Archive (JAR) 文件是Java平台上的一个重要组成部分,它主要用于打包Java类、资源文件以及元数据。JAR文件的出现使得Java开发者能够将多个类文件组合成一个单一的可执行文件,方便...

    jar文件如何打开或者jar文件关联到java

    ### 如何打开或关联JAR文件到Java 在软件开发领域,尤其是Java开发中,JAR(Java Archive)文件是一种非常常见的格式。JAR文件本质上是ZIP文件的一种扩展,用于打包Java类文件、资源文件和其他元数据。了解如何打开...

    jar文件反编译工具

    当我们遇到不熟悉的JAR文件,想要学习其中的代码逻辑或查找特定功能实现时,就需要使用到“jar文件反编译工具”。反编译是将已编译的字节码转换回源代码的过程,这对于理解和学习第三方库的内部工作原理非常有用。 ...

    jd_gui工具直接打开jar文件,显示源代码

    标题中的“jd_gui工具直接打开jar文件,显示源代码”是指使用JD-GUI这款软件来查看Java可执行jar包中的源代码。JD-GUI是一款独立的图形化工具,它允许开发者查看Java字节码反编译后的源代码,这对于调试、学习或者...

    java生成Jar文件命令

    Jar文件不仅可以方便地分发和运行Java应用程序,还可以进行代码压缩、加密和签名,以增强软件的安全性。下面我们将详细探讨如何使用Java命令行工具来生成Jar文件。 首先,确保你已经安装了Java Development Kit ...

    jar文件电脑使用模拟器

    - **导入JAR文件**:将JAR文件复制到模拟器的指定目录,或通过模拟器的文件管理器进行导入。 - **启动应用**:在模拟器中找到并点击JAR文件,启动应用,进行功能测试和性能评估。 5. **注意事项** - **兼容性**...

    eclipse中Jar 文件的创建与使用

    4. **设置manifest文件**:manifest文件包含了关于Jar文件的信息,如主类(如果该Jar文件是一个可执行的Java应用)。在导出向导的“Manifest”选项卡中,你可以添加或编辑manifest文件,指定主类(Main-Class属性)...

    apk文件中添加jar文件

    本篇文章将详细讲解如何在APK文件中添加JAR文件,以及涉及到的相关工具——baksmali、apktool和jar2dex。 首先,我们来理解一下JAR文件。Java Archive(JAR)文件是Java平台中用于存储类文件、资源文件和其他相关...

    JAR文件包详解,创建可执行jar

    JAR文件实质上是一个ZIP压缩格式,但包含了一个特定的文件——`META-INF/MANIFEST.MF`,这是JAR文件的关键组成部分。 1. **JAR文件的结构** JAR文件的内部结构与ZIP文件相似,但多了一个`META-INF`目录,其中包含`...

    如何生成可执行jar文件

    这样,用户无需安装Java环境,只需双击JAR文件即可运行程序。以下是生成可执行JAR文件的详细步骤和相关知识点: 1. **理解JAR文件**: JAR文件是Java平台的标准归档格式,用于存储编译后的Java类文件、元数据和...

    java的jar文件生成.pdf

    ### JAR文件基础知识 JAR文件,全称为Java归档(Java Archive),是一种用于Java平台的压缩包文件格式,用于存放Java类文件及其相关资源(如文本、图片等)。JAR文件基于ZIP格式,并具备ZIP文件的所有特性。它们...

    生成可双击运行的Jar文件

    标题中的“生成可双击运行的Jar文件”指的是在Java开发中将编译好的类文件打包成一个可执行的JAR(Java Archive)文件,这样用户可以通过双击该JAR文件来直接运行Java应用程序。这一过程涉及到Java的打包工具如jar...

    .jar文件生成工具

    《深入理解.jar文件生成及其应用》 在Java编程领域,.jar(Java Archive)文件是不可或缺的一部分,它是一种用于封装Java类库、资源文件和元数据的容器,使得多个类可以被打包成一个单一的可分发文件。本文将详细...

    生成可执行jar文件的教程

    ### 生成可执行JAR文件的详细教程 #### 一、引言 在Java开发过程中,经常需要将项目打包成可执行的JAR文件,以便于分发和部署。本教程将详细介绍如何通过CMD命令行生成一个可执行的JAR文件。 #### 二、准备工作 在...

    JAD文件生成器(JAR文件)

    JAR文件包含了编译后的类文件、资源文件以及元数据,是Java平台上的标准打包方式。而JAD文件则包含了应用程序的元数据,如应用名称、作者、版本、依赖库等信息,主要用于非Java环境下的移动设备,例如早期的诺基亚...

Global site tag (gtag.js) - Google Analytics