maven项目创建可执行jar的6种方法

创建Java Maven项目的可执行JAR文件有多种方法,这些方法适用于任何Java项目,包括Spring和Spring Boot项目。以下是六种创建可执行JAR文件的方法,并附带详细代码介绍:

方法一:使用Spring Boot Maven插件(适用于Spring Boot项目)

对于Spring Boot项目,最简单直接的方法是使用spring-boot-maven-plugin

pom.xml配置

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
    </plugins>
</build>

执行命令

bash 复制代码
mvn clean package

执行完毕后,在target目录下将生成一个可执行JAR文件。

方法二:使用Maven Assembly插件

pom.xml配置

xml 复制代码
<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.yourpackage.YourMainClass</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行命令

bash 复制代码
mvn clean package

这将在target目录下生成一个包含所有依赖的JAR文件。

方法三:使用Maven Shade插件

pom.xml配置

xml 复制代码
<build>
    <plugins>
        <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.yourpackage.YourMainClass</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行命令

bash 复制代码
mvn clean package

这将创建一个包含所有依赖并设置正确Manifest的JAR文件。

方法四:使用Maven Jar插件结合Maven Dependency插件

这种方法涉及多个步骤和配置,首先使用Maven Dependency插件复制所有依赖项到一个目录,然后使用Maven Jar插件创建一个包含这些依赖和正确Manifest的JAR。

注意:由于这种方法涉及多个步骤和复杂的配置,不推荐作为首选方法。

方法五:手动设置Manifest文件

这种方法通常与其他插件结合使用,通过在构建过程中插入步骤来手动设置Manifest文件。

注意:手动设置Manifest文件需要深入了解JAR结构和Maven构建生命周期,因此不推荐作为通用解决方案。

方法六:结合使用多种插件

在某些复杂情况下,可能需要结合使用多种插件来实现特定的需求,例如同时处理依赖项和设置Manifest文件。

注意:这种方法需要较高的Maven配置经验和项目理解,通常只适用于特定场景。

通用注意事项:

  • 确保在pom.xml中正确设置<packaging>jar</packaging>
  • 确保你的主类(包含public static void main(String[] args)方法的类)具有正确的包名和类名,并在Manifest中正确设置。
  • 测试生成的可执行JAR以确保它在没有Maven环境的情况下也能正常运行。

由于代码示例的复杂性以及可能的项目特定需求,这里无法提供所有方法的完整代码示例。每个项目都有其独特的需求和配置,因此建议根据项目的实际情况选择最适合的方法,并参考Maven官方文档和相关插件的文档进行配置。加粗样式

相关推荐
面朝大海,春不暖,花不开2 分钟前
自定义Spring Boot Starter的全面指南
java·spring boot·后端
得过且过的勇者y3 分钟前
Java安全点safepoint
java
夜晚回家38 分钟前
「Java基本语法」代码格式与注释规范
java·开发语言
斯普信云原生组1 小时前
Docker构建自定义的镜像
java·spring cloud·docker
wangjinjin1801 小时前
使用 IntelliJ IDEA 安装通义灵码(TONGYI Lingma)插件,进行后端 Java Spring Boot 项目的用户用例生成及常见问题处理
java·spring boot·intellij-idea
wtg44521 小时前
使用 Rest-Assured 和 TestNG 进行购物车功能的 API 自动化测试
java
白宇横流学长1 小时前
基于SpringBoot实现的大创管理系统设计与实现【源码+文档】
java·spring boot·后端
fat house cat_2 小时前
【redis】线程IO模型
java·redis
stein_java3 小时前
springMVC-10验证及国际化
java·spring
weixin_478689763 小时前
C++ 对 C 的兼容性
java·c语言·c++