当前位置:首页 > Java

如何将Java打包成.jar

2026-02-05 04:33:00Java

使用JDK的jar命令打包

确保JDK已安装并配置环境变量。在项目根目录(包含编译后的.class文件)执行以下命令:

jar cvf YourJarName.jar *

若需指定主类(可执行jar),需先创建MANIFEST.MF文件,内容为:

Main-Class: com.example.MainClass

再执行:

jar cvfm YourJarName.jar MANIFEST.MF *

使用Maven打包

pom.xml中配置打包插件:

如何将Java打包成.jar

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.MainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

执行命令:

mvn package

使用Gradle打包

build.gradle中配置:

plugins {
    id 'java'
}

jar {
    manifest {
        attributes 'Main-Class': 'com.example.MainClass'
    }
}

执行命令:

如何将Java打包成.jar

gradle jar

使用IDE打包(以IntelliJ为例)

右键项目 → Open Module Settings → Artifacts → 点击+ → JAR → From modules with dependencies。选择主类后,构建菜单选择Build Artifacts即可生成jar文件。

包含依赖库的Fat Jar

对于Maven项目,使用maven-assembly-plugin

<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.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

对于Gradle项目,使用shadow插件:

plugins {
    id 'com.github.johnrengelman.shadow' version '7.1.2'
}

shadowJar {
    manifest {
        attributes 'Main-Class': 'com.example.MainClass'
    }
}

标签: 如何将Java
分享给朋友:

相关文章

如何将react学精通

如何将react学精通

掌握核心概念 深入学习React的基础知识,包括组件、状态(state)、属性(props)、生命周期方法(类组件)和钩子(函数组件)。理解虚拟DOM的工作原理以及React的渲染机制。 实践项目驱…

如何将react打包成静态页面

如何将react打包成静态页面

使用 Create React App 构建 React 项目可以通过 create-react-app 工具快速生成,并内置了打包功能。运行以下命令生成生产环境代码: npm run build…

react如何将当前对象传过去

react如何将当前对象传过去

传递当前对象的常见方法 通过函数参数传递 在事件处理或函数调用时,直接将当前对象作为参数传递。例如,在React中处理点击事件时,可以通过箭头函数或bind方法传递当前DOM元素或组件实例。 <…

react如何将es6语法转换为es5

react如何将es6语法转换为es5

转换ES6到ES5的方法 在React项目中,将ES6语法转换为ES5通常通过Babel工具链实现。以下是具体方法: 安装Babel及相关预设 确保项目中已安装@babel/core、@babel/…

shell 如何调用Java

shell 如何调用Java

在Shell中调用Java程序 Shell脚本可以直接调用Java程序,通过java命令执行编译后的.class文件或打包的.jar文件。以下是具体实现方法: 编译Java源代码 在调用Java程序…

Java如何实现异步处理

Java如何实现异步处理

异步处理的实现方式 Java中实现异步处理有多种方法,包括使用多线程、Future、CompletableFuture以及响应式编程框架等。以下是几种常见的实现方式: 使用多线程 通过创建新线程执行…