当前位置:首页 > Java

java 软件如何打包

2026-03-23 04:51:02Java

打包 Java 软件的方法

使用 JAR 文件打包

Java 应用程序通常打包为 JAR(Java Archive)文件。通过 jar 命令或构建工具(如 Maven、Gradle)可以创建 JAR 文件。

命令行方式:

jar cvf MyApp.jar *.class

若包含主类,需在 MANIFEST.MF 中指定:

Main-Class: com.example.Main

然后打包:

jar cvfm MyApp.jar MANIFEST.MF *.class

使用 Maven 打包

pom.xml 中配置 maven-jar-plugin

<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.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

运行命令生成 JAR:

java 软件如何打包

mvn package

使用 Gradle 打包

build.gradle 中配置:

plugins {
    id 'java'
}

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

运行命令生成 JAR:

gradle jar

打包依赖库

若项目依赖第三方库,需将依赖一并打包:

java 软件如何打包

  • Maven:使用 maven-assembly-plugin 生成包含依赖的 JAR。
  • Gradle:通过 shadow 插件(或 fatJar 任务)打包依赖。

示例(Gradle):

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

shadowJar {
    archiveBaseName.set('MyApp')
    archiveClassifier.set('')
    archiveVersion.set('')
}

运行:

gradle shadowJar

生成可执行文件

通过工具将 JAR 转换为平台特定可执行文件:

  • Windows:使用 launch4jjpackage(JDK 14+)。
  • Linux/macOS:通过 jpackage 生成原生安装包。

示例(jpackage):

jpackage --input target/ --name MyApp --main-jar MyApp.jar --main-class com.example.Main

注意事项

  • 确保 MANIFEST.MF 的路径和主类名正确。
  • 检查依赖是否完整,避免运行时缺失类。
  • 跨平台分发时,注明所需的 JRE 版本。

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

相关文章

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何调试

java如何调试

调试Java程序的基本方法 使用IDE内置的调试工具(如IntelliJ IDEA或Eclipse)是最常见的方式。在代码行号旁点击设置断点,启动调试模式后,程序会在断点处暂停,允许查看变量值、调用栈…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…

java如何取绝对值

java如何取绝对值

取绝对值的方法 在Java中,取绝对值可以通过以下几种方式实现: 使用Math.abs()方法 Math.abs()是Java中最常用的取绝对值方法,适用于多种数据类型: int absolute…

react如何与java配合

react如何与java配合

React 与 Java 配合的常见方式 React 作为前端框架,通常与 Java 后端通过 RESTful API 或 GraphQL 进行交互。以下是几种常见的配合方式: RESTful AP…