当前位置:首页 > 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如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

java 实现 php ord

java 实现 php ord

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

java如何创建文件

java如何创建文件

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

java如何创建线程

java如何创建线程

在Java中创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法,可以创建一个线程。启动线程时调…