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

news/2024/11/13 4:24:01/

安装

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.ppmy.cn/news/721751.html

相关文章

[每日一水] Latex Tikz foreach 循环嵌套

\documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \foreach[count\i] \x in {20,18,...,2}\foreach[count\j] \y in {20,18,...,2}\node at (\i,\j) {\x \y}; \end{tikzpicture} \end{document}\node at (\i,\j) {\x \y}; 就是写文本的意思

【Django】在Linux上部署Django(nginx+uwsgi)

1.说明 关于在Linux上使用uwsgi部署Django的项目的过程并不难&#xff0c;主要是配置文件的写法&#xff0c;尤其是nginx的配置文件&#xff0c;本文在Ubuntu20.04上通过uwsgi和nginx部署Django项目 2.安装环境 安装环境主要有Nginx、Python、MySQL、Redis&#xff0c;可以根…

我在神奇代码岛研究了一点辅助功能

// UserScript // name BoxMap // namespace http://tampermonkey.net/ // version 0.1 // description 帮助萌新快速了解Box3.0 // author 云游的残梦 饼干盒协助 // match https://box3.codemao.cn/* // icon https://static.box3.c…

20年了啊:那年冬天

雪一片一片一片一片&#xff0c;让我想起二十年前。那时我还是一张白纸&#xff0c;不带伞的少年&#xff0c;幸运的进入了一家公司&#xff0c;开始了我的北京都市生活。 公司在国贸附近&#xff0c;是北京有名的商务白领区。写字楼出出进进到处是一年四季都不穿裤子的女孩和女…

面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。

作者&#xff1a;Carson-Zhao 链接&#xff1a;https://ac.nowcoder.com/discuss/522002?type2&order0&pos16&page1&ncTraceId&channel-1&source_iddiscuss_tag_nctrack 来源&#xff1a;牛客网 总结一下这几天的面试吧&#xff01;从19号到现在23号…

零食社交 or 甜蜜陷阱?说说公司那些免费提供的零食饮料

很多公司都提供免费的零食、水果和饮料。说起来是件轻松愉快的事情&#xff0c;可是&#xff0c;偏偏有人因为这些小福利离职&#xff0c;还有人因为它们损害了健康……对于这些随便吃、随便喝、随便拿的东西应该采取什么样的态度才能于己有利&#xff1f;很多公司在普通零食之…

第2章 进程的描述与控制

操作系统 第2章 进程的描述与控制2.2 进程的描述2.2.3 挂起操作和进程状态的转换2.2.4 进程管理中的数据结构 2.3 进程控制2.3.1 操作系统内核2.3.2 进程的创建2.3.3 进程的终止2.3.4 进程的阻塞与唤醒&#xff08;浅学一下&#xff09;2.3.5 进程的挂起与激活&#xff08;浅学…

本科四年总结

不出意外&#xff0c;这应该是我本科阶段最后一篇博客了。这次没有算法&#xff0c;没有技术&#xff0c;只有闲谈。 当初对计算机一窍不通的我&#xff0c;竟然真的选择了这个行业。大一入学&#xff0c;懵懵懂懂&#xff0c;什么都不了解&#xff0c;更不知道算法这个东西。…