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命令行pip3 install语法错误

    对于Python编程开发者而言,安装和使用第三方模块是非常频繁的操作。而pip3作为Python官方推荐的模块管理工具,具备包括搜索、安装、卸载和升级等众多功能,是大家较为常用的方…

    编程 2025-04-27
  • .mvn文件夹:优化Maven项目管理的关键

    本文将从多个方面详细阐述.mvn文件夹,帮助读者更好地了解如何利用.mvn文件夹优化Maven项目管理。 一、为什么需要.mvn文件夹? Maven是目前应用较广泛的Java项目构…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论