当前位置:首页 > Java

java 如何打包

2026-03-03 02:00:13Java

Java 打包方法

Java 项目可以通过多种方式进行打包,常见的打包工具包括 jarMavenGradle。以下是几种常见的打包方式:

使用 jar 命令打包

  1. 编译 Java 文件
    确保所有 .java 文件已编译为 .class 文件:

    javac -d ./classes src/*.java
  2. 创建 JAR 文件
    使用 jar 命令将编译后的 .class 文件打包:

    jar cvf MyApp.jar -C classes .
  3. 指定主类(可选)
    如果需要可执行的 JAR,可以在 MANIFEST.MF 文件中指定主类:

    echo "Main-Class: com.example.Main" > MANIFEST.MF
    jar cvfm MyApp.jar MANIFEST.MF -C classes .

使用 Maven 打包

  1. 配置 pom.xml
    确保 pom.xml 中已定义打包方式:

    <packaging>jar</packaging>
  2. 运行打包命令
    执行以下命令生成 JAR 文件:

    mvn package
  3. 生成可执行 JAR(可选)
    使用 maven-assembly-pluginmaven-shade-plugin 生成包含依赖的可执行 JAR:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.4</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

使用 Gradle 打包

  1. 配置 build.gradle
    确保 build.gradle 中已定义 jar 任务:

    plugins {
        id 'java'
    }
    
    jar {
        manifest {
            attributes 'Main-Class': 'com.example.Main'
        }
    }
  2. 运行打包命令
    执行以下命令生成 JAR 文件:

    gradle jar
  3. 生成 Fat JAR(可选)
    使用 shadow 插件生成包含依赖的可执行 JAR:

    plugins {
        id 'com.github.johnrengelman.shadow' version '7.1.2'
    }
    
    shadowJar {
        archiveBaseName.set('MyApp')
        archiveClassifier.set('')
        archiveVersion.set('')
    }

其他打包方式

  • 使用 IDE 打包
    Eclipse、IntelliJ IDEA 等 IDE 提供图形化界面打包工具,通常通过 ExportBuild 选项生成 JAR 文件。

  • 模块化打包(Java 9+)
    如果使用 Java 模块系统,可以通过 jlinkjpackage 生成自定义运行时或安装包。

    java 如何打包

通过以上方法,可以灵活地根据项目需求选择合适的打包方式。

标签: java
分享给朋友:

相关文章

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

如何学习好java

如何学习好java

掌握Java基础知识 学习Java的第一步是掌握其基础知识,包括数据类型、变量、运算符、控制流语句(如if-else、for循环、while循环)以及数组。这些是构建更复杂程序的基石。可以通过在线教程…

vue实现java登录注册

vue实现java登录注册

实现 Vue 与 Java 后端的登录注册功能 前端 Vue 部分 安装必要的依赖(如 axios 用于 HTTP 请求): npm install axios 创建登录表单组件(Login.vue…

java实现js

java实现js

Java 实现 JavaScript 功能 在 Java 中实现 JavaScript 功能通常涉及以下几种方法: 使用 ScriptEngine Java 提供了 javax.script 包,可…

java如何创建文件

java如何创建文件

创建文件的方法 在Java中创建文件可以通过多种方式实现,以下是常见的几种方法: 使用File.createNewFile()方法 这种方法适用于简单的文件创建需求。需要先创建一个File对象,然…

java如何

java如何

以下是针对Java常见需求的解决方案整理,以模块化方式呈现: 基础环境配置 下载JDK并配置环境变量,官网提供最新版本。验证安装使用命令 java -version。IDE推荐IntelliJ ID…