当前位置:首页 > Java

java如何打jar包

2026-02-05 08:26:35Java

打包JAR文件的方法

使用jar命令工具打包
在命令行中切换到项目根目录,执行以下命令将编译后的.class文件打包为JAR:

jar cvf MyApp.jar *.class

参数说明:

  • c 创建新归档
  • v 生成详细输出
  • f 指定归档文件名
  • *.class 包含所有class文件

包含清单文件的打包方式

创建包含主类的MANIFEST.MF文件:

Main-Class: com.example.Main

执行打包命令时指定清单文件:

jar cvfm MyApp.jar MANIFEST.MF -C target/classes .

关键参数:

java如何打jar包

  • m 合并现有清单文件
  • -C 切换目录后执行操作

使用Maven打包

pom.xml中配置打包插件:

<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>

执行打包命令:

mvn clean package

使用Gradle打包

build.gradle中配置主类信息:

java如何打jar包

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

执行打包任务:

gradle jar

可执行JAR的特殊处理

对于包含依赖库的情况:

  • Maven使用maven-assembly-plugin创建包含所有依赖的fat jar
  • Gradle通过shadow插件实现相同功能

Maven配置示例:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

标签: javajar
分享给朋友:

相关文章

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何学习好java

如何学习好java

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

java下载功能vue实现

java下载功能vue实现

Java 后端文件下载功能实现 后端需提供文件下载的接口,通常使用 HttpServletResponse 实现。以下是一个简单的 Java Spring Boot 示例: @GetMapping(…

java 实现 php ord

java 实现 php ord

Java 实现 PHP 的 ord 函数 PHP 的 ord 函数用于获取字符串中第一个字符的 ASCII 值。在 Java 中,可以通过类型转换或直接使用字符的 Unicode 值实现类似功能。…

java js实现转盘抽奖

java js实现转盘抽奖

实现转盘抽奖的步骤 HTML结构 创建转盘抽奖的基本HTML结构,包括转盘区域和抽奖按钮。 <div id="wheel"> <canvas id="wheelCanv…