当前位置:首页 > 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 文件:

maven 如何打包java

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 文件将包含所有依赖项。

maven 如何打包java

可选:跳过测试

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

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 目录。

总结

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

标签: mavenjava
分享给朋友:

相关文章

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何输出数组

java如何输出数组

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

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io.Fil…

java如何连接数据库

java如何连接数据库

Java连接数据库的方法 Java连接数据库通常使用JDBC(Java Database Connectivity)技术,以下是具体步骤和示例代码。 加载数据库驱动 在连接数据库之前,需要加载对应的…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…

php 实现 java md5

php 实现 java md5

在 PHP 中实现与 Java 相同的 MD5 哈希算法,关键在于确保编码和输出格式的一致性。以下是具体实现方法和注意事项: 确保字符串编码一致 Java 的 String.getBytes() 默…