Maven如何构建可执行的jar包(包含依赖jar包)

Maven是一个流行的Java构建工具,可以自动化构建、管理和部署Java项目。将Java项目打包成可执行的jar包是Maven常见的一个任务,特别是包含依赖jar包的情况。以下是构建可执行的jar包的完整攻略:

步骤一:配置Maven pom.xml文件

在Maven项目的根目录下,打开pom.xml文件,添加以下插件和配置:

<build>
  <plugins>
    <!-- 用于将项目打包成可执行的jar包 -->
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

<!-- 打包后生成可执行的jar包的配置 -->
<packaging>jar</packaging>

<!-- 配置需要打包的类路径,包含所有的依赖jar包 -->
<dependencies>
  <!-- 项目依赖 -->
</dependencies>

步骤二:运行Maven打包命令

在命令行中进入项目根目录,运行以下Maven命令:

mvn clean package

步骤三:查看生成的可执行的jar包

运行上一步命令后,Maven将会在target/文件夹下生成一个名为xxx.jar的可执行的jar包。执行以下命令运行这个jar包:

java -jar xxx.jar

这个命令将会启动你的Java项目,包含所有依赖的jar包。

示例 1:Spring Boot项目的可执行的jar包构建:

<dependencies>
  <!-- Spring Boot依赖 -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!-- 其他依赖 -->
</dependencies>

<!-- 其他配置 -->

<build>
  <plugins>
    <!-- 用于将项目打包成可执行的jar包 -->
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

<packaging>jar</packaging>

示例 2:非Spring Boot项目依赖jar包打包到可执行的jar包:

<dependencies>
  <!-- 项目依赖 -->
  <dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1</version>
  </dependency>
</dependencies>

<!-- 其他配置 -->

<build>
  <plugins>
    <!-- 用于将项目打包成可执行的jar包 -->
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <!-- 用于将所有依赖jar包打包到可执行的jar包 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.4</version>
      <configuration>
        <shadedArtifactAttached>true</shadedArtifactAttached>
        <shadedClassifierName>exec</shadedClassifierName>
        <transformers>
          <transformer
            implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
            <mainClass>com.xxx.Main</mainClass>
          </transformer>
        </transformers>
      </configuration>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

<packaging>jar</packaging>

以上就是使用Maven构建可执行的jar包(包含依赖jar包)的完整攻略,示例中包括了Spring Boot项目和普通Java项目的构建方式,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Maven如何构建可执行的jar包(包含依赖jar包) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java实战之OutOfMemoryError异常问题及解决方法

    Java实战之OutOfMemoryError异常问题及解决方法 在Java应用程序开发中,OutOfMemoryError异常是经常会遇到的一个问题。当应用程序的内存使用超出JVM所能分配的内存大小时,就会抛出OutOfMemoryError异常。这个问题会严重影响应用程序的稳定性和性能,因此解决这个问题是非常重要的。 什么是OutOfMemoryErro…

    Java 2023年5月27日
    00
  • IDEA 离线迁移Springboot工程的方法步骤

    下面我将为你详细讲解“IDEA 离线迁移Springboot工程的方法步骤”的攻略。 一、离线环境准备 在没有网络的情况下,我们需要先将工程所需的依赖预先下载到本地。具体的步骤如下: 首先在有网络的环境下,利用 maven 将所需的依赖下载到本地。在控制台执行命令: mvn dependency:copy-dependencies 这会将所需依赖下载到${b…

    Java 2023年5月20日
    00
  • 详解SpringCloud-OpenFeign组件的使用

    Spring Cloud OpenFeign是一个基于Netflix Feign的声明式Web服务客户端,它使得编写Web服务客户端变得更加容易。在本文中,我们将详细讲解Spring Cloud OpenFeign组件的使用。 增加依赖 首先,我们需要在pom.xml中增加Spring Cloud OpenFeign的依赖。下面是一个示例: <depe…

    Java 2023年5月18日
    00
  • 小程序的上传文件接口的注意要点解析

    小程序的上传文件接口用于将本地客户端的文件上传到服务器,具体操作过程如下: 请求方式 上传文件接口的请求方式为POST请求。 请求地址 上传文件接口的地址为 https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE。 其中,ACCESS_TOK…

    Java 2023年5月23日
    00
  • Spring MVC实现一次简单的CRUD示例

    下面我来详细讲解一下“Spring MVC实现一次简单的CRUD示例”的完整攻略。 什么是Spring MVC? Spring MVC是Spring Framework的一部分,它是一种基于Java的Web框架,用于开发企业级Web应用程序。Spring MVC使用模型-视图-控制器(MVC)模式进行设计和实现。 Spring MVC实现CRUD CRUD是…

    Java 2023年5月16日
    00
  • 基于SpringBoot 使用 Flink 收发Kafka消息的示例详解

    下面是关于“基于SpringBoot使用Flink收发Kafka消息的示例详解”的攻略。本攻略将包含两个示例主要是为了演示如何使用SpringBoot和Flink收发Kafka消息。其中,例子一是演示如何使用Flink从Kafka主题读取消息,而例子二是演示如何使用SpringBoot将消息发送到Kafka主题。 示例1:使用Flink从Kafka读取消息 …

    Java 2023年5月20日
    00
  • springboot实现执行sql语句打印到控制台

    下面是关于如何在Spring Boot中实现执行SQL语句并打印到控制台的攻略: 1. 添加依赖 在Spring Boot中使用JDBC需要添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…

    Java 2023年5月31日
    00
  • Java快速批量移动文件的实现方法

    Java快速批量移动文件的实现方法 在Java中,可以使用java.io.File类来实现文件的操作,包括文件的移动。本文将介绍如何使用Java来快速批量移动文件。 解决方法 在Java中,可以使用File类的renameTo()方法来实现文件的移动。renameTo()方法可以将当前文件移动到指定的路径下,并且可以改名字。 下面是移动单个文件的示例代码: …

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部