mvn install详解

一、mvn install命令

在Maven项目中执行默认的命令mvn install会将本地的jar包安装到本地的仓库中,以便于在其他项目通过pom依赖的方式使用。同时,执行该命令还会对项目进行编译、打包和发布操作,便于在其他环境中进行部署使用。

二、mvn install命令选项

mvn install命令有一些选项可以控制执行过程中的一些特定操作。

1. -Dmaven.test.skip=true 该选项可以跳过测试过程,加快构建过程,但有可能会导致潜在的线上问题。

2. -DskipTests=true 该选项也可以跳过测试过程,但不会生成测试报告。

3. -Dmaven.site.skip=true 该选项可以跳过生成站点文档过程。

4. -Dmaven.javadoc.skip=true 该选项可以跳过生成javadoc文档过程。

三、mvn install本地jar选取

有些情况下,我们需要将一个本地已有的jar包安装到本地maven仓库中,这时,我们可以执行mvn install:install-file命令来完成这个过程。

命令参数:

  • file:jar包文件的位置
  • groupId:groupId,例如com.example
  • artifactId:artifactId,例如example-java
  • version:版本号,例如1.0.0
  • packaging:打包方式,默认为jar
  • generatePom:是否生成pom文件,默认为true

示例代码:

mvn install:install-file -DgroupId=com.example -DartifactId=example-java -Dversion=1.0.0 -Dfile=/path/to/example.jar -Dpackaging=jar -DgeneratePom=true

四、使用mvn install构建可执行jar包

使用Maven的插件maven-assembly-plugin,我们可以方便的构建出可执行的jar包,并将所有的依赖包打成一个大的jar包,以方便在其他环境中运行。

配置文件示例:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.Main</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行命令:

mvn clean package

之后在target文件夹下就可以找到一个可执行的jar文件,运行方式为:java -jar example.jar。

五、使用mvn install将项目安装到本地仓库的多个版本

在开发过程中,有时候我们需要同时维护多个版本的同一个项目,我们可以使用mvn install命令将每个版本安装到不同的目录下。

首先,在pom.xml中指定版本号:

<groupId>com.example</groupId>
<artifactId>example-java</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>

然后,执行以下命令来将项目安装到本地仓库:

mvn install -Dmaven.install.version=1.0.0
mvn install -Dmaven.install.version=1.0.1

这样,每个版本都会被安装到~/.m2/repository/com/example/example-java目录下,分别对应1.0.0和1.0.1两个版本。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/307495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2025-01-02 18:16
下一篇 2025-01-02 18:16

相关推荐

  • 寂静岭剧情详解(寂静岭结局解析)

    但到了表世界,就是灰蒙蒙的景象。到了里世界,就是丧尸蟑螂怪的天下了。而处于这三个世界的人又看不到彼此,这就是为什么当男主和女主在同一个空间与时间的时候却不能相 当清楚了表里世界观后…

  • Python CSV模块详解

    Python是一种广泛使用的高级编程语言,常被应用于Web开发、数据分析、人工智能等领域。在Python中,有许多内置模块可以使用,其中一个非常常见且实用的模块就是CSV模块。在本…

    编程 2025-01-13
  • MasterAuth详解

    一、MasterAuth EOF MasterAuth是一种基于Redis的轻量级认证鉴权系统,可以为不同的应用和服务提供安全认证和访问控制。它通过Redis作为数据存储,支持多种…

    编程 2025-01-13
  • Oracle登录sys用户详解

    一、oracle登录sys用户口令 1、在oracle中,sys用户是系统管理员,登录sys用户需要输入口令。 2、默认情况下,oracle安装后sys用户不需要输入口令登录系统。…

    编程 2025-01-13
  • CRC算法详解

    一、CRC算法概述 CRC(Cyclic Redundancy Check) 算法是一种数据校验算法,广泛应用于数据通信领域。该算法通过将消息转换成多项式,并使用一些预定义的多项式…

    编程 2025-01-13
  • Idea更改JDK详解

    一、Idea更改JDK版本 Idea是一款非常常用的Java开发工具,使用时需要配置对应的JDK版本。在项目开发的不同阶段,我们可能需要更换JDK版本。 更改JDK版本的步骤如下:…

    编程 2025-01-13
  • Android:tint详解

    一、概述 Android:tint是一个非常有用的属性,它可以让我们在不改变原有资源的情况下改变资源的颜色,比如ImageView和Button等组件的图标或背景。在UI设计中,这…

    编程 2025-01-13
  • fs.readdirSync的应用与案例详解

    Node.js中的文件系统模块(fs模块)提供了许多API用于处理文件和目录。其中,fs.readdirSync()函数是Node.js中最常用的文件和文件夹处理函数之一。fs.r…

    编程 2025-01-13
  • Golang定时任务详解

    一、什么是Golang定时任务 Golang定时任务是一种可以自动按照设定时间执行指定任务的机制。简而言之,是一种可以预先设定好某些指令在特定时间点运行的机制。 Golang为开发…

    编程 2025-01-13
  • 互站网jsp源码(jsp网站开发详解)

    本文目录一览: 1、JSP的源代码写在哪? 2、jsp 中网站的首页源代码 3、有哪些比较好的源码网站 4、给定JSP程序源码如下: JSP的源代码写在哪? jsp文件是一个可以对…

    编程 2025-01-13

发表回复

登录后才能评论