Java的运行时 JAR 文件
JAR 代表Java存档文件。它是一个平台-独立的文件格式,允许捆绑和打包带Java应用程序,类文件,音频和图像文件,以及相关联的所有文件。我们运行小程序程序时需要这些文件。它使用数据压缩算法捆绑 JAR 文件。这些 jar 文件可以使用诸如 WINZIP 或 WINRAR 之类的 zip 程序进行操作。
由于所有类文件都打包/捆绑在一起并分发到客户端应用程序,因此它可以轻松分发。作为一个单独的 jar 文件。这些 jar 文件可以由作者使用数字证书进行签名。可以使用数字证书和检查作者的签名来验证这些 jar 文件。 JRE(Java运行时环境)从 JAR 文件加载类,而不对其进行解扰。
方法:有两种方法可以创建 JAR 文件。
- 使用IDE
- 使用命令行
让我们深入讨论它们。
方法 1 – 使用 IDE
1.通过 Netbeans 或 Eclipse 等 IDE 创建 JAR 文件非常简单。在文件中,我们有一个导出选项,可帮助我们将Java应用程序导出为 JAR 文件。在这之后去
File -> Export->Java-> JAR file
2.现在在 JAR 文件规范对话框中,指定要包含在 JAR 文件中的资源/文件。导出目标是要创建 jar 文件的位置。
3.点击完成按钮
4.然后我们提供我们希望创建 jar 文件的位置。
5.下面用两个快照来形象地描述如下:
方法二:使用命令行
使用jar工具,我们可以创建一个jar文件如下
cmd>> jar cvf jarfile inputfileDir1 inputfileDir2
这里,
- c – 创建一个新的 jar 文件
- v – 详细模式,在创建 jar 文件时显示消息。
- f – 捆绑到由参数 jarfile 指定的 jar 文件而不是标准输出。
- inputfileDir1, inputfileDir2 – 表示要在 jar 文件中捆绑在一起的输入文件。
现在我们将显示该文件,因为这是一个捆绑在 JAR 文件中的特殊文件。它具有特殊的元数据,如主类名、版本控制、作者的数字签名、用于捆绑 jar 文件的Java版本。文件名为“MANIFEST.MF”,它是 META-INF 子目录的一部分。如果在捆绑 JAR 文件期间未提供此文件,则会自动创建该文件。当我们解压并打开jar文件时,我们可以查看这个文件。它有以下详细信息
Manifest-Version: 1.0
如果具有标题为 Main-class 的清单文件,则该 jar 文件可以由Java应用程序直接运行。 Main-class 标头具有包含 main() 的类的完全限定名称。这指定了应用程序的入口点。
插图:考虑使用名为helloworld.MF的清单文件创建 JAR 文件
Manifest-Version : 1.0
Main-class : com.sample.test.HelloWorld
例子:
Java
// Importing the package
package com.sample.test;
// Main class
public class HelloWorld {
// Main driver method
public static void main(String[] args)
{
// Print statements only
System.out.println("Welcome to helloworld");
System.out.println("Jar file to be created");
}
}
Keep a note here m indicates the manifest file to be included while bundling into a jar file
输出:
Note: Here we compile the java file ‘HelloWorld.java’ using javac command. This command compiles the .java file and creates a class file HelloWorld.class. We then create the jar file helloworld.jar using jar command.
最后,在运行 JAR 文件时,我们使用以下命令运行创建的 jar 文件。当我们运行 jar 文件时,JVM 会加载具有 main() 的“ Helloworld ”类,并执行代码。