Maven将代码及依赖打成一个Jar包的方式详解(最新推荐)

下面是详细讲解Maven将代码及其依赖打成一个Jar包的完整攻略:

前提条件

在开始前,需要确保在本地预装了Maven,并已经配置好了Maven环境变量。

Step 1:创建Maven项目并导入依赖

在命令行窗口中,进入到要创建项目的目录,执行以下命令:

mvn archetype:generate -DgroupId=your.group.id -DartifactId=your-artifact-id -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

其中,groupIdartifactId分别代表项目的组名和项目名,可以自定义。这个命令会创建一个基本的Maven项目,并将其导入到Maven仓库中。

接下来,在项目的pom.xml文件中,添加所需要的依赖,例如:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
</dependencies>

这里添加了一个JUnit的依赖,用于测试。

Step 2:在pom.xml文件中指定Main Class

在项目的pom.xml文件中,需要添加以下代码:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

这个配置告诉Maven将哪个类作为Main Class。这里以com.example.Main为例。在打包Jar包的时候,这个Main Class会被放入Jar包的Manifest文件中。

Step 3:打包成Jar包

在命令行窗口中,在项目的根目录下运行以下命令:

mvn package

这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar路径下。

Step 4:运行Jar包

在命令行窗口中,运行以下命令:

java -jar target/your-artifact-id-1.0-SNAPSHOT.jar

这会运行打包好的Jar包。

示例1

为了更好的理解Maven将代码及依赖打成一个Jar包的方式,这里举个实际的例子,在这个例子中,我们使用了Lombok和Log4j2两个依赖。

导入依赖

为了使用Lombok和Log4j2,需要在项目的pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.14.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.14.1</version>
    </dependency>
</dependencies>

指定Main Class

在项目的pom.xml文件中,需要添加以下代码:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>1.18.20</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                    <version>2.14.1</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-core</artifactId>
                    <version>2.14.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

打包成Jar包

在命令行窗口中,在项目的根目录下运行以下命令:

mvn package

这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar路径下。

运行Jar包

在命令行窗口中,运行以下命令:

java -jar target/your-artifact-id-1.0-SNAPSHOT.jar

这会运行打包好的Jar包。

示例2

下面再举一个例子,这里使用Jackson和HttpClient两个依赖。

导入依赖

为了使用Jackson和HttpClient,需要在项目的pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.12.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.13</version>
    </dependency>
</dependencies>

指定Main Class

在项目的pom.xml文件中,需要添加以下代码:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                    <version>2.12.3</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                    <version>4.5.13</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

打包成Jar包

在命令行窗口中,在项目的根目录下运行以下命令:

mvn package

这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar路径下。

运行Jar包

在命令行窗口中,运行以下命令:

java -jar target/your-artifact-id-1.0-SNAPSHOT.jar

这会运行打包好的Jar包。

以上就是Maven将代码及依赖打成一个Jar包的攻略完整过程,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Maven将代码及依赖打成一个Jar包的方式详解(最新推荐) - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • IDEA基于支付宝小程序搭建springboot项目的详细步骤

    下面是“IDEA基于支付宝小程序搭建springboot项目的详细步骤”的完整攻略。 步骤一:下载安装开发环境 首先需要下载并安装以下开发工具: IDEA:用于Java项目开发的集成开发环境。 JDK:Java开发工具包,用于编译和运行Java代码。 支付宝小程序开发工具:用于开发和调试小程序的工具。 步骤二:创建Spring Boot项目 在IDEA中创建…

    Java 2023年5月19日
    00
  • 学习在一台新电脑上配置JAVA开发环境

    学习在一台新电脑上配置JAVA开发环境的攻略如下: 1. 下载安装JDK 首先,需要下载JDK(Java Development Kit),JDK是Java开发环境的核心组件。你可以在官网上下载合适的JDK版本,通常情况下建议下载最新版本。 下载地址:https://www.oracle.com/java/technologies/javase-downlo…

    Java 2023年5月24日
    00
  • SpringBoot中使用Servlet三大组件的方法(Servlet、Filter、Listener)

    下面是详细的讲解和示例: 基本概念 在SpringBoot应用中使用Servlet三大组件,需要先了解以下基本概念: Servlet:处理HTTP请求和响应的Java类。 Filter:对HTTP请求进行过滤,过滤器会根据预设条件过滤HTTP请求。 Listener:负责处理特定事件,例如ServletContext和HttpSession的创建、销毁等。 …

    Java 2023年5月19日
    00
  • Windows下Java环境配置的超详细教程

    下面是Windows下Java环境配置的超详细教程。 1. 下载Java开发包 首先,我们需要到Oracle官网上下载Java开发包(JDK)。下载地址为:https://www.oracle.com/technetwork/java/javase/downloads/index.html。 选择“JDK Download”,然后在页面中找到需要下载的Jav…

    Java 2023年5月19日
    00
  • Java通过正则表达式获取字符串中数字的方法示例

    当我们需要从字符串中提取数字时,可以使用Java正则表达式提取数字。以下是一些方法的示例说明。 示例 1:使用Pattern和Matcher类的方法 import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractNumbers { public stat…

    Java 2023年5月27日
    00
  • php 什么是PEAR?

    PHP 什么是PEAR? PEAR(PHP Extension and Application Repository)是 PHP 的扩展与应用程序仓库,是一个官方的、由 PHP 社区运行的开源项目,旨在为 PHP 开发人员提供高质量的可重用代码和可重用组件。PEAR 从软件设计的角度出发,提倡“以面向对象方式设计,尽可能复用已有的代码片段” 的编码风格,简化…

    Java 2023年6月15日
    00
  • java分割日期时间段代码

    下面就让我来为您详细讲解一下“java分割日期时间段代码”的完整攻略。 1. 背景介绍 在日常开发中,经常会遇到需要把一个时间段拆分成多个小的时间段的需求,比如把一个月拆分成多个周,或者把一天拆分成多个小时等。Java中有多种方式来实现这个需求,下面我将详细介绍其中一种实现方法。 2. 实现思路 实现思路比较简单,主要是通过Java中的Calendar类来处…

    Java 2023年5月20日
    00
  • JavaSpringBoot报错“TypeMismatchException”的原因和处理方法

    原因 “TypeMismatchException” 错误通常是以下原因引起的: 参数类型不匹配:如果您的参数类型不匹配,则可能会出现此错误。在这种情况下,您需要检查您的参数类型并确保它们匹配。 参数格式不正确:如果您的参数格式不正确,则可能会出现此错误。在这种情况下,您需要检查您的参数格式并确保它们正确。 解决办法 以下是解决 “TypeMismatchE…

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