当前位置:首页 > 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
分享给朋友:

相关文章

Java如何实现异步处理

Java如何实现异步处理

Java实现异步处理的常见方法 使用CompletableFuture CompletableFuture是Java 8引入的异步编程工具,支持链式调用和组合操作。 CompletableFutur…

react如何将函数挂载全局

react如何将函数挂载全局

在 React 中挂载函数到全局 将函数挂载到全局可以通过 window 对象实现。以下是一种常见的方法: 定义全局函数 // 在组件或工具文件中定义函数 const myGlobalFu…

react如何将页面静态化

react如何将页面静态化

React 页面静态化的方法 静态化(Static Site Generation, SSG)是将 React 应用预渲染为静态 HTML 文件的过程,提升加载速度和 SEO 友好性。以下是几种常见方…

如何将react项目放到git上

如何将react项目放到git上

初始化本地Git仓库 在项目根目录运行以下命令,初始化一个本地Git仓库: git init 创建.gitignore文件 在项目根目录创建.gitignore文件,排除不需要提交的文件(如n…

如何将echarts集成到react中

如何将echarts集成到react中

安装 ECharts 依赖 在项目中安装 echarts 和 echarts-for-react(简化集成的库): npm install echarts echarts-for-react 基础集…

如何将react打包成静态页面

如何将react打包成静态页面

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