当前位置:首页 > Java

maven 如何打包java

2026-03-25 15:52:14Java

使用 Maven 打包 Java 项目

Maven 是一个强大的构建工具,可以自动化 Java 项目的编译、测试和打包。以下是使用 Maven 打包 Java 项目的步骤:

配置 pom.xml

确保 pom.xml 文件包含必要的构建配置。以下是一个基本示例:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.example.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

执行打包命令

在项目根目录下运行以下命令进行打包:

mvn clean package

此命令会执行以下操作:

  • clean 清理 target 目录
  • package 编译代码并生成 JAR 文件

检查输出

打包完成后,生成的 JAR 文件默认位于 target 目录下,例如:

ls target/my-app-1.0-SNAPSHOT.jar

运行打包后的 JAR

使用以下命令运行 JAR 文件:

java -jar target/my-app-1.0-SNAPSHOT.jar

可选:生成可执行 JAR(包含依赖)

如果项目依赖其他库,可以使用 maven-assembly-pluginmaven-shade-plugin 生成包含依赖的 Fat JAR。

使用 maven-shade-plugin

pom.xml 中添加:

<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>
            <configuration>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.example.Main</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>

重新运行 mvn clean package,生成的 JAR 文件将包含所有依赖项。

可选:跳过测试

如果希望在打包时跳过测试,可以使用:

mvn clean package -DskipTests

可选:生成 WAR 文件(Web 项目)

对于 Web 项目,修改 pom.xml<packaging>war

<packaging>war</packaging>

并添加 maven-war-plugin(可选):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.3.2</version>
</plugin>

运行 mvn clean package 后,生成的 WAR 文件位于 target 目录。

maven 如何打包java

总结

  • 使用 mvn clean package 进行打包
  • 配置 pom.xml 以指定主类或依赖管理
  • 可选插件(如 shadeassembly)可用于生成包含依赖的 JAR
  • 修改 <packaging>war 可打包 Web 项目

标签: mavenjava
分享给朋友:

相关文章

如何打开java

如何打开java

打开 Java 程序的方法 通过命令行运行 Java 程序 确保已安装 Java Development Kit (JDK) 并配置环境变量。使用 javac 编译 .java 文件,生成 .clas…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法名…

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

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

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

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

java实现js

java实现js

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

如何使用java

如何使用java

安装Java开发环境 从Oracle官网下载JDK(Java Development Kit)并安装。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。 验…