当前位置:首页 > Java

java 如何生成jar文件

2026-02-05 03:07:24Java

生成 JAR 文件的方法

使用命令行工具

通过 jar 命令手动打包。假设已编译的 .class 文件位于 out/production/MyProject 目录下:

cd out/production/MyProject
jar cvf MyProject.jar *

参数说明:

  • c 创建新 JAR 文件
  • v 生成详细输出
  • f 指定 JAR 文件名
  • * 包含当前目录所有文件

使用 Maven 构建

pom.xml 所在目录执行以下命令:

mvn package

生成的 JAR 文件默认位于 target 目录。需确保 pom.xml 中配置了 maven-jar-plugin

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
        </plugin>
    </plugins>
</build>

使用 Gradle 构建

build.gradle 中添加 JAR 任务配置:

jar {
    manifest {
        attributes 'Main-Class': 'com.example.Main'
    }
    from {
        configurations.runtimeClasspath.collect { 
            it.isDirectory() ? it : zipTree(it) 
        }
    }
}

执行以下命令生成 JAR:

gradle jar

生成的 JAR 文件位于 build/libs 目录。

使用 IDE 生成

IntelliJ IDEA

  1. 打开项目后选择 File > Project Structure
  2. 选择 Artifacts > + > JAR > From modules with dependencies
  3. 指定主类后应用配置
  4. 通过 Build > Build Artifacts 生成 JAR

Eclipse

  1. 右键项目选择 Export > Java > JAR file
  2. 选择需要包含的资源文件
  3. 指定输出路径和 JAR 文件名
  4. 勾选 Export generated class files and resources

包含依赖的 FAT JAR

对于需要包含第三方库的 JAR:

Maven 配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

执行命令:

mvn clean compile assembly:single

验证 JAR 文件

检查 JAR 内容或运行:

java 如何生成jar文件

jar tf MyProject.jar  # 查看内容
java -jar MyProject.jar  # 运行(需配置Main-Class)

标签: 文件java
分享给朋友:

相关文章

vue文件下载后端实现

vue文件下载后端实现

Vue 文件下载后端实现 在 Vue 项目中实现文件下载功能通常需要前后端配合。后端主要负责生成文件并提供下载接口,前端通过调用接口触发下载。以下是常见的后端实现方法(以 Node.js/Expres…

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

如何启用java

如何启用java

启用 Java 的方法 检查 Java 是否已安装 在命令行或终端输入 java -version,如果显示版本信息,说明 Java 已安装。若未安装,需从 Oracle 官网 或 OpenJDK 下…

js实现文件的上传

js实现文件的上传

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。HTML部分需要包含一个文件选择控件和一个提交按…