命令行下jar打包及运行
### 命令行下JAR打包及运行详解 #### 概述 在日常的软件开发过程中,我们经常需要将编写的Java程序打包为可执行的JAR文件,并且能够在命令行环境中直接运行这些程序。这种方式不仅可以提高工作效率,还便于进行自动化部署与测试。本文将详细介绍如何在命令行环境下完成这一过程。 #### 准备工作 确保您的开发环境已正确配置Java环境。您需要安装Java Development Kit (JDK),并设置好`JAVA_HOME`环境变量以及PATH路径,以便能够从命令行调用`java`和`javac`等命令。 #### 创建源代码文件 假设我们有一个简单的Java类文件`Test.java`,内容如下: ```java package test; public class Test { public static void main(String[] args) { System.out.println("Test jar"); } } ``` 该文件位于目录`C:\temp\java\test`下。 #### 编译Java源代码 接下来,我们需要使用`javac`命令将`Test.java`编译为`Test.class`文件。在命令行中进入`C:\temp\java\test`目录,并执行以下命令: ```bash javac -d C:\temp\class Test.java ``` 其中,`-d`参数指定了编译后的`.class`文件存放的目录,本例中是`C:\temp\class`。此时,`C:\temp\class`目录下应该已经生成了`test`子目录以及`Test.class`文件。 #### 创建JAR文件 创建JAR文件可以使用`jar`命令。切换到`C:\temp\class`目录,执行以下命令来创建一个名为`Test.jar`的JAR文件: ```bash jar cvf Test.jar test/* ``` 这里,`cvf`参数表示创建一个新的JAR文件(`c`)、写入文件(`v`)、指定文件名(`f`)。`test\*`表示将`test`目录下的所有文件添加到JAR文件中。 #### 修改JAR文件的Manifest文件 为了能够让JAR文件作为应用程序被直接运行,我们需要修改它的`Manifest`文件。我们需要解压`Test.jar`文件,以便查看和编辑其中的`META-INF/MANIFEST.MF`文件。执行以下命令: ```bash jar xvf Test.jar ``` 接着,使用文本编辑器打开`META-INF/MANIFEST.MF`文件,并添加或修改`Main-Class`属性,指定JAR文件的主类(即包含`main`方法的类): ```text Main-Class: test.Test ``` 保存更改后,重新打包JAR文件: ```bash jar cvfm Test.jar META-INF/MANIFEST.MF test/* ``` 这里的`cvfm`中的`m`参数表示读取新的`Manifest`文件。 #### 运行JAR文件 我们可以通过以下命令运行JAR文件: ```bash java -jar Test.jar ``` 如果一切顺利,控制台会输出: ```text Test jar ``` 这表明我们的程序已经在命令行环境下成功运行。 #### 总结 通过以上步骤,我们不仅学习了如何在命令行环境下编译Java源代码、创建JAR文件,而且还掌握了如何通过修改`Manifest`文件来让JAR文件能够直接运行。这种方法对于那些需要频繁构建和部署的应用来说非常实用,同时也适用于自动化脚本中。