【maven】安装、使用和常用命令

news2024/11/15 11:00:55

安装

windows

  • 下载Maven二进制文件
    前往Apache Maven官方网站 (https://maven.apache.org) ,找到最新的稳定版本,然后下载对应的二进制压缩包(如apache-maven-3.8.2-bin.zip)。
  • 解压缩文件
    将下载的压缩包解压到你选择的目录,例如 “C:\Program Files” 或者 “C:\opt”。
  • 配置环境变量
    将Maven添加到系统环境变量中,使其可在任何位置运行。打开"控制面板" -> “系统和安全” -> “系统” -> “高级系统设置” -> “环境变量”。在"系统变量"部分,找到"Path"变量,然后点击"编辑"。在变量值的末尾添加"Maven安装目录的路径\bin",例如:“C:\Program Files\apache-maven-3.8.2\bin”。然后点击"确定"保存修改。
  • 验证安装
    打开命令提示符(cmd.exe)或者PowerShell,输入以下命令验证Maven是否成功安装:
mvn -version

如果正确显示Maven的版本号和其他详细信息,则表示安装成功。
在这里插入图片描述
至此,你已经成功在Windows上安装了Maven。你可以使用Maven来构建和管理Java项目的依赖关系、编译代码以及执行其他Maven命令。

Linux

ubuntu

假设你使用的是Ubuntu:

  • 更新包索引
    打开终端,运行以下命令更新系统的包索引:
sudo apt update

安装Maven:运行以下命令安装Maven:

sudo apt install maven

验证安装:安装完成后,可以通过输入以下命令验证Maven是否成功安装:

mvn -version

如果正确显示Maven的版本号和其他详细信息,则表示安装成功。
在这里插入图片描述
至此,你已经成功在Ubuntu上安装了Maven。你可以使用Maven来构建和管理Java项目的依赖关系、编译代码以及执行其他Maven命令。请注意,具体的安装方法可能因Linux发行版而异,上述步骤适用于Ubuntu系统。对于其他Linux发行版,请参考相应的文档或官方指南进行安装。

centos

以下是在CentOS上安装Maven的一般流程:

  • 更新系统
    打开终端,运行以下命令以确保系统已更新:
sudo yum update
  • 安装Java JDK
    Maven需要依赖Java环境。如果尚未安装Java JDK,请运行以下命令安装OpenJDK:
sudo yum install java-1.8.0-openjdk-devel
  • 下载Maven二进制文件
    前往Apache Maven官方网站 (https://maven.apache.org) ,找到最新的稳定版本,然后复制下载链接。

  • 使用wget下载Maven
    在终端中运行以下命令,将下载链接替换为实际的链接:

wget [Maven下载链接]
  • 解压缩文件
    运行以下命令解压缩下载的文件(假设下载的文件名为apache-maven-3.8.2-bin.tar.gz):
tar xf apache-maven-3.8.2-bin.tar.gz
  • 移动文件
    将解压后的文件夹移动到适当的位置,例如 /opt 目录:
sudo mv apache-maven-3.8.2 /opt/
  • 配置环境变量
    编辑 /etc/profile 文件,添加以下内容(使用实际的Maven安装路径):
export MAVEN_HOME=/opt/apache-maven-3.8.2
export PATH=$MAVEN_HOME/bin:$PATH
  • 使环境变量生效
    运行以下命令使修改的环境变量生效:
source /etc/profile

验证安装:在终端中输入以下命令验证Maven是否成功安装:

mvn -version

如果正确显示Maven的版本号和其他详细信息,则表示安装成功。
在这里插入图片描述
至此,你已经成功在CentOS上安装了Maven。你可以使用Maven来构建和管理Java项目的依赖关系、编译代码以及执行其他Maven命令。请注意,具体的安装方法可能因Linux发行版而有所不同,上述步骤适用于CentOS系统。对于其他Linux发行版,请参考相应的文档或官方指南进行安装。

常用命令

以下是Maven的一些常用命令

mvn clean: 清理项目,删除生成的目标文件和构建结果。
mvn compile: 编译项目的源代码。
mvn test: 运行项目的单元测试。
mvn package: 打包项目,生成可部署的构建输出文件(如JAR、WAR等)。
mvn install: 将项目构建结果安装到本地Maven仓库,以供其他项目依赖使用。
mvn deploy: 将项目构建结果部署到远程Maven仓库,以供其他开发人员或项目使用。
mvn clean install: 清理项目并执行安装操作,常用于构建和部署项目。
mvn clean package: 清理项目并执行打包操作,常用于构建可部署文件。
mvn dependency:tree: 显示项目的依赖树,包括所有直接和间接依赖项。
mvn dependency:resolve: 解析项目的依赖项,确保它们都被正确下载和配置。
mvn help:system: 显示有关Maven系统信息的帮助文档,包括配置和环境设置。
这只是一些常用的Maven命令示例,Maven还有许多其他功能和插件,可以根据具体需要使用不同的命令来完成特定的任务。你可以在Maven的官方文档中找到更详细的命令和用法说明。

,真实场景肯需要过滤单元测试,可以执行以下的命令

mvn clean install/package -DskipTests

同时可以使用以下的命令,推送指定的jar到对应的仓库

mvn deploy:deploy-file -DgroupId=[groupId] -DartifactId=[artifactId] -Dversion=[version] -Dfile=[xxx.jar] -DrepositoryId=[repositoryId] -Durl=[xxxx/xxx-release/]

还可以使用以下的命令查看当前的mvn支持的命令:

mvn --h 或者 mvn -help

在这里插入图片描述

注意事项

使用Maven时需要注意以下几个方面:

  • 配置正确的Maven版本
    确保使用最新稳定版的Maven,并与你的项目兼容。

  • 配置正确的Java版本
    确保安装了适当的Java JDK,并将其与Maven配置文件(pom.xml)中的<maven.compiler.source>和<maven.compiler.target>设置匹配。

  • 确认项目结构和目录
    按照Maven的约定,确保项目的源代码放置在正确的目录结构下,例如将Java源代码放置在src/main/java目录下,资源文件放置在src/main/resources目录下。

  • 明确依赖管理
    在pom.xml文件中明确声明和管理项目的依赖项,包括依赖的库、插件和其他项目模块。确保依赖项的版本和范围正确指定,以避免潜在的冲突或不一致性。

  • 使用合适的生命周期命令
    Maven提供了多个生命周期阶段(如clean、compile、test、package等)。根据需要选择适当的生命周期阶段来执行操作,以确保正确地构建和测试项目。

  • 缓存和更新机制
    Maven会缓存下载的依赖项和插件,以加快后续构建过程。在必要时,可以使用mvn clean清理缓存并重新下载依赖项。

  • 注意Maven插件
    Maven有丰富的插件生态系统,可以扩展其功能。了解常用插件,并注意它们的配置和使用方式,以满足项目的特定需求。

  • 网络连接和镜像设置
    Maven需要与中央仓库进行通信来下载依赖项。确保网络连接正常,或者根据需要配置本地或私有仓库的镜像。

  • 及时更新Maven和依赖项
    定期检查并更新Maven及项目依赖项的版本,以获得最新的功能和修复bug。

  • 阅读文档和学习资源
    Maven有广泛的文档和学习资源可供参考。深入了解Maven的概念、约定和最佳实践,可以更好地利用其功能和提高开发效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/713706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QCC51XX---chain修改

QCC51XX---系统学习目录_嵌入式学习_force的博客-CSDN博客 如何去修改音频chain链路,就是那种想多加几条输入源或输出,又或者把当前的输入输出换到别的地方的那种应用。例如一个自带mic的dongle,或者模拟输入的LE dongle。 如果要改某个状态下的音频链路,那就需要先找出默认…

修复常见 Android 问题的 9 款顶级 Android 手机维修软件

许多人发现Android手机或平板电脑上的Android操作系统一开始运行得很好&#xff0c;但随着时间的推移&#xff0c;可能会出现各种Android系统问题。您可能会遇到一些问题&#xff0c;例如系统速度变慢、启动无响应、挂起错误、界面冻结、短信停滞、应用程序崩溃等。那么&#x…

Linux学习之内存查看命令free和top

我用来演示的系统使用CentOS Linux release 7.6.1810 (Core)&#xff0c;内核版本是3.10.0-957.el7.x86_64。 Linux在进程申请内存的时候&#xff0c;一般都是尽可能给进程内存&#xff0c;因为进程在申请内存的时候有损耗。 free free命令可以看以k为单位的内存。 free -…

使用less命令搜索文件中的关键字

目录 介绍常用搜索技巧实例 介绍 less 与 more 类似&#xff0c;less 可以随意浏览文件&#xff0c;支持翻页和搜索&#xff0c;支持向上翻页和向下翻页。 语法 less [参数] 文件 参数说明&#xff1a; -b <缓冲区大小> 设置缓冲区的大小 -e 当文件显示结束后&#xff…

STM32 USART

USART.C 文件中只是针对串口1&#xff0c;使用其他串口需要稍作修改 IC、SPI主要用于一块开发板上两个芯片之间的通信&#xff0c;例如&#xff1a;主控和传感器之间的通信 串口适用于两块开发板之间的通信&#xff0c;或者说开发板和上位机之间的通信&#xff0c;有线通信 以…

MAC OS X 这个“安装 macOS Xxx Xxx”应用程序副本已损坏,不能用来安装 macOS,超级终端修改日期date 已解决

原因&#xff1a;旧版 macOS 证书已经过期 解决方法&#xff1a;断开互联网&#xff0c;修改系统时间 date 102013142018.20 说明&#xff1a;10是月&#xff0c;20是日&#xff0c;13是时&#xff0c;14是分&#xff0c;2018是年&#xff0c;20是秒 输入上面的代码按回车后…

【ARM】-异常与中断

文章目录 中断中断请求、中断源中断服务程序保存现场、恢复现场中断仲裁、中断优先级中断嵌套 异常广义上的异常同步异常异步异常精确异步异常&#xff08;Precise Asynchronous Exception&#xff09;非精确异步异常&#xff08;Imprecise Asynchronous Exception&#xff09;…

发展零碳数据中心,超聚变推动液冷规模商用

算力的发展犹如一体两面。 一方面&#xff0c;在数字经济、产业数字化和数字化转型中&#xff0c;算力发挥着关键的引擎作用&#xff1b;另一方面&#xff0c;持续增长的多元异构算力需求、不断提升的算力密度以及逐渐成体系的算力网络&#xff0c;也带来了不可低估的长期能耗…

Linux基础笔记

已经有很长很长一段时间没有更新帖子了&#xff0c;一眨眼2023 已经过半&#xff0c;这些日子里&#xff0c;有太多太多事情要做了&#xff0c;今年只更新了几篇&#xff0c;这几天刚好有空&#xff0c;浅浅更新一篇叭&#xff01;~~~ 首先&#xff0c;Linux是一种开源的操作系…

测试开发工程必备技能之一:Mock的使用

目录 1. 背景 2. Mock是什么 3. Mock能做什么 4. Mock实现方式 5. Mock市面上常见的解决方案 6. Python下unittest.mock使用 总结&#xff1a; 1. 背景 在实际产品开发过程中&#xff0c;某个服务或前端依赖一个服务接口&#xff0c;该接口可能依赖多个底层服务或模块&…

K8S | 容器和Pod组件

对比软件安装和运行&#xff1b; 一、场景 作为研发人员&#xff0c;通常自己电脑的系统环境都是非常复杂&#xff0c;在个人的习惯上&#xff0c;是按照下图的模块管理电脑的系统环境&#xff1b; 对于「基础设施」、「主机操作系统」、「系统软件」来说&#xff0c;通常只做…

MYSQL根据标签查询数据

场景条件&#xff1a; 1.根据用户id查询到该id绑定的标签&#xff08;可能是多个标签也可能是单个标签&#xff09; 2.根据标签的id查询到绑定标签id的信息表 SELECT labelID FROM LRrelation WHERE relationID 1 SELECT * FROM notification SELECT * FROM notification…

解决GitHub下载速度太慢问题的方法汇总(持续更新,建议收藏)

文章目录 前言一、使用 git clone --depth1 来下载二、修改host文件解决三、谷歌浏览器插件加速四、油猴插件和脚本五、gitclone.com六、Github 加速下载链接七、Github 镜像访问八、使用码云下载参考资料&#xff0c;感谢以下文章 前言 Github上下载仓库或者克隆仓库&#xf…

运输层:TCP流量控制

1.运输层&#xff1a;TCP流量控制 笔记来源&#xff1a; 湖科大教书匠&#xff1a;TCP流量控制 流量控制(flow control)就是让发送方的发送速率不要太快&#xff0c;要让接收方来得及接收。 实现方法&#xff1a;滑动窗口机制 移动发送窗口&#xff0c;因接收窗口大小为300&am…

C++思维,作业7.3

#include <iostream> #include <cstring> using namespace std; int monster_blood10000; //英雄 class Hero { protected:string name;int hp;int attck; public:Hero(){//cout << "Hero的无参构造" << endl;}Hero(string name,int hp,int …

《Pytorch深度学习和图神经网络(卷 1)》学习笔记——第七章

这一章内容有点丰富&#xff0c;多用了一些时间&#xff0c;实例就有四五个。 这章内容是真多啊&#xff01;&#xff08;学完之后又回到开头感叹&#xff09; 大脑分级处理机制&#xff1a; 将图像从基础像素到局部信息再到整体信息 即将图片由低级特征到高级特征进行逐级计…

代码评审的18个军规,收藏好!

前言 大家好&#xff01; 我们开发完需求&#xff0c;提测前&#xff0c;一般都需要代码评审。小伙伴们&#xff0c;你们知道代码评审&#xff0c;一般都有哪些军规嘛&#xff1f;今天田螺哥给你带来代码评审的18个军规。 公众号&#xff1a;捡田螺的小男孩 &#xff08;有田…

多肽试剂:151308-48-4,分子式C117H149N27O28,分子量2381.6,具有一定的稳定性

【产品描述】 多肽试剂&#xff08;CAS&#xff1a;151308-48-4&#xff09;一般多肽可以作为螯合剂进行科研实验&#xff0c;一般多肽试剂与其他肽类物质相同&#xff0c;多肽能完全溶解于水&#xff0c;具有一定的稳定性&#xff0c;酸&#xff0c;热组分不改变&#xff0c;…

引用,函数重构,类

1.类和结构体的区别 结构体是值类型&#xff0c;类是引用类型 结构体存在栈中&#xff0c;类存在堆中 结构体成员不能使用protected访问修饰符&#xff0c;而类可以 结构体成员变量申明不能指定初始值&#xff0c;而类可以 结构体不能申明无参的构造函数&#xff0c;而类可…

MongoDB负载均衡集群监控

对负载均衡的集群监控&#xff0c;不仅仅集中在对集群所有的资源、服务等进行监控&#xff0c;还要兼顾整体逻辑。以MongoDB高可用负载均衡集群为例&#xff0c;对逻辑层面的监控&#xff0c;就是模拟用户行为&#xff0c;访问集群数据&#xff0c;判断运行状态是否正常。 Mong…