maven多模块创建-安装配置

1、前提

许久没有写文章了,荒废了2年多的时间,在整理的时候,发现Maven还差一篇安装配置的文章,现在开始提笔完善它,参考:https://blog.csdn.net/m0_72803119/article/details/134634164。
—写于2024年4月19日

2、Maven简介

Maven是一个项目管理和构建工具,用于Java开发。它提供了一个统一的构建生命周期,可以自动化构建、测试、部署Java项目。Maven使用一个项目对象模型(POM)来管理项目的依赖关系、构建配置和插件。POM是一个XML文件,描述了项目的相关信息,包括项目的名称、版本、依赖关系、构建插件等。

3、Maven优势

  1. 一致性:Maven提供了一致的构建生命周期和标准的构建过程,使得构建和部署Java项目更加容易和可靠。
  2. 依赖管理:Maven可以自动下载和管理项目的依赖库,减少了手动下载和配置依赖库的复杂性。
  3. 可扩展性:Maven支持插件机制,可以通过插件来扩展Maven的功能,例如代码质量检查、构建报告生成等。
  4. 易于学习和使用:Maven的配置文件POM简单易懂,使得上手和使用Maven更加容易。 Maven的基本使用流程如下:
  5. 创建一个Maven项目:使用Maven的archetype工具可以快速创建一个Maven项目的基本结构。
  6. 编写POM文件:在项目的根目录下创建一个名为pom.xml的文件,用于描述项目的相关信息和配置。
  7. 添加依赖:在POM文件中添加项目的依赖关系,包括核心库、第三方库等。
  8. 执行构建:使用mvn命令执行构建任务,例如编译、测试、打包等。 5
  9. 部署项目:将构建好的项目部署到目标环境中。

总之,Maven是一个功能强大的Java项目管理和构建工具,可以提高Java开发的效率和质量。

4、Maven卸载

查看本机maven版本

mvn -v

找到目录,可直接rm -rf删除,也可直接删除本地目录

5、Maven下载安装

下载地址

https://maven.apache.org/download.cgi

我选的是在这里插入图片描述
说明

Binary: 二进制文件,编译好的可以直接使用的程序,只需要把它解压缩到你想要安装的目录就马上可以使用。
Souce:带源码,需要在计算机上编译后运行,安装的时间会比较长,文件也会大一些。
zip archieve:for windows
tar.gz archive:for mac

直接放在想要放的路径下解压,实例放的目录在

/Users/用户名/Documents/soft/apache-maven-3.9.6
这里的用户名是电脑的名字

6、Maven配置

在~/.bash_profile文件中即可,如果本地shell是zsh,则需要在
~/.zshrc中配置
查看shell命令

echo $SHELL

本机是zsh配置信息如下:

# maven
export MAVEN_HOME=/Users/用户名/Documents/soft/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH

配置命令:

vim ~/.zshrc
插入
export MAVEN_HOME=/Users/用户名/Documents/soft/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH
wq保存
重启shell

配置检查输入mvn -v,检查
在这里插入图片描述

7、一些配置过程中遇到的问题

因为之前安装过maven,jdk这些,后来卸载过一段时间,所以在重新配置的时候总是遇到一些各种各样的问题,我整理了一下,一开始安装上面的安装步骤,在iTerm2上面执行mvn -v的时候总是找不到jdk,后来检查了/.bash_profile和/.zshrc,配置发现之前~/.bash_profile是配置过maven,删掉之后还是不行,后来查看资料说是配置了多个jdk导致,maven分不清是哪个jdk,了解了配置文件的加载过程,才发现在/etc/profile是配置过,之前卸载的时候没有同步删除。

关于配置文件的执行过程

首先在登录时,先执行的是/etc/profile文件。 然后在启动用户目录下的/.bash_profile、/.bash_login或/.profile文件中的其中一个,执行顺序为/.bash_profile、/.bash_login、/.profile。如果~/.bash_profile文件存在的话,一般还会执行/.bashrc文件。若要退出shell时还会执行~/.bash_logout文件。所以不难发现,当在zsh下执行各项命令时,此时~/.zshrc文件则已经执行。而/.bash_profile文件没有执行,所以在其中配置的mvn参数不会加载。其实有两种方法可以解决,一种是在~/.zshrc同步配置,还有一种与第一种类似,就是在~/.zshrc文件中加入source ~/.bash_profile命令即可。原理都是一样,即是在执行zsh相关的文件时会加载到mvn的相关配置。
简单介绍一下各个文件的作用域:

     (1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。(2)/etc/bashrc:为每一个运行bash shell的用户执行次文件。当bash shell被打开时,该文件被读取。(3)~/.bash_profile:每个用户都可以使用该文件输入专用与自己使用的shell信息,当用户登录时,该问价仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(4)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该 文件被读取。(5)~/.bash_logout:当每次退出系统时(退出bash shell),执行该文件。另外,/etc/profile中设定的变量可以作用于任何用户,而~/.bashrc等中设定的变量只能继承/etc/profile中的变量,是“父子”关系。(6)~/.bash_profile是交互式、login方式进入bash运行的~/.bashrc是交互式non-login方式进入bash运行的通常二者设置大致相同,所以通常前者会调用后者。

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

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

相关文章

LeetCode - 11.盛最多水的容器

一. 题目链接 LeetCode - 11.盛最多水的容器 二. 思路解释 利用双指针的思想,定义一个left和reght,left指向首部,right指向尾部,计算当前两个指针所对应的高度构成容器的体积。根据当前双指针所指的高度的大小,然后让…

linux服务器和RAID磁盘阵列

1、服务器 (1)服务器分类 机架式居多 塔式 刀片式 机柜式 机架式 机架式服务器是一种服务器的机箱形式,它被设计为在服务器机架或机柜中安装。机架式服务器通常具有标准的19英寸宽度,并且可以根据服务器的高度进行划分&#xff0…

富唯智能:打造未来机器人教育新标杆

随着科技的飞速发展,机器人教育正逐渐成为培养未来人才的重要领域。富唯智能,作为业内领先的机器人技术提供商,近日推出了一款全新的机器人教育实践平台系统,旨在为学生提供更加丰富、更具挑战性的学习体验。 该平台系统以AUBO-i5…

电力监控系统是什么,有哪些功能

电力监控系统是什么,有哪些功能 电力是国家重要的基础设施,电力监控系统用于监视和控制电力生产和供应过程,是电力安全稳定运行的支撑系统。 什么是电力监控系统? 电力监控系统是指用于监视和控制电力生产及供应过程的、基于计算机及网…

上网行为管理软件有哪些?三款常用上网行为管理软件评测

互联网的普及,企业和个人对于网络安全和信息保护的需求越来越高。为了确保网络环境的安全和稳定,上网行为管理软件应运而生。本文将对三款常用的上网行为管理软件进行评测,分别是域智盾、Splunk Enterprise Security和安企神。 1、域智盾 域…

Linux查看僵尸进程

1、查看系统是否有僵尸进程 使用Top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程。 2、定位僵尸进程 使用命令ps -A -ostat,ppid,pid,cmd |grep -e ‘^[Zz]’定位僵尸进程以及该僵尸进程的父进程。 3、杀死僵尸进程 使用Kill -…

二叉树中的最长交错路径

题目链接 二叉树中的最长交错路径 题目描述 注意点 每个节点的值在 [1, 100] 之间 解答思路 深度优先遍历整棵树,遍历的同时需要将到达根节点是向左交叉还是向右交叉以及路径长度传递到子树。当根节点是向左交叉遍历而来,子树想和根节点组成路径就只…

<计算机网络自顶向下> 面向连接的传输:TCP

目录 TCP: 概述 TCP报文段结构 TCP往返延时(RTT)和超时 可靠数据传输 快速重传 流量控制 连接管理 TCP: 概述 点对点 一个发送方,一个接收方可靠的、按顺序的字节流 不出错,不重复,不丢失,不失序没有报…

面试算法准备:动态规划

这里写自定义目录标题 1 理论2 例题2.1 斐波那契数列(什么是重叠子问题)2.1.1 带备忘录的递归解法 2.2 零钱兑换(讲解最优子结构)2.3 最长递增子序列(讲解如何求解状态转移方程)2.4 俄罗斯套娃信封问题&…

3月养颜抗氧化市场发展趋势洞察:抗糖亮肤功能性产品成为行业大势

随着我国人口老龄化程度的加深和人们对健康和美丽的追求日益增强,具备养颜抗氧化、抗衰老功能的产品逐渐成为市场热门,备受人们关注。 根据鲸参谋数据显示,今年3月份,在线上电商平台(京东天猫淘宝)养颜抗氧…

[Windows] Bypass分流抢票 v1.16.25 五一黄金周自动抢票软件(2024.02.08更新)

五一黄金周要来了,火车票难买到,即便官网候选订票也要看运气,推荐使用这个靠谱的自动抢票软件, 该工具是目前市面上最好用口碑最好的电脑抢票软件,从13年到现在,作者依旧在更新,可以自动识别123…

什么是最优物理隔离文件导出导入解决方案,来看看吧

企业进行物理隔离的主要原因是为了提高安全性,减少安全风险。物理隔离通常指的是将网络或系统中的关键部分与外界断开直接连接,以增强安全性。在企业环境中,这通常意味着将内部网络(内网)与外部网络(如互联…

关于MCU核心板的一些常见问题

BGA植球与焊接(多涂焊油): 【BGA芯片是真麻烦,主要是植锡珠太麻烦了,拆一次就得重新植】https://www.bilibili.com/video/BV1vW4y1w7oNvd_source3cc3c07b09206097d0d8b0aefdf07958 / NC电容一般有两种含义&#xff1…

控制台居然可以这么玩?五分钟带你上手ANSI指令,实现一个log工具包

目录 前言 基础知识 进阶实践 ANSI参数 ANSI类 JSLog类 工具的使用说明 配置相关 全局配置项 默认配置 基本用法 打印字符 添加全局配置项 清空所有样式及操作行为 校验传入的参数是否正确 样式控制 Node环境 浏览器中 光标控制指令 光标位置偏移 滚动条控…

消费增值:革新你的消费体验,让每一分钱都更有价值

亲爱的顾客们,你们好!今天,我想为大家介绍一种革新性的消费模式——消费增值,它赋予每一次购物以额外的价值,让消费过程变得更加丰富多彩。 过去,我们的消费观念往往是“一手交钱,一手交货”&am…

LCD彩屏显示方案选型攻略:从接口到GUI开发工具的全面评估

在现代人类社会,彩色显示技术是科技王国里最为绚丽夺目的技术奇葩,LCD彩屏通过显示实时信息并提供交互式的体验,将信息时代打扮得多姿多彩。无论是智能家电还是医疗健康设备领域,精美直观的LCD彩屏显示,往往能够为用户…

【Linux学习】初始冯诺漫体系结构

文章目录 认识冯诺依曼系统 认识冯诺依曼系统 什么是冯诺依曼体系结构? 冯诺依曼体系结构是一种将程序指令和数据以二进制形式存放在主存储器中,由中央处理器统一控制和执行的计算机系统结构。冯诺依曼体系结构实现了程序的可编程性和硬件与软件的分离&…

wordpress建网站主题案例推荐

wordpress企业网站主题案例 https://www.mymoban.com/wordpress/ wordpress公司官网主题案例 https://www.wowsoho.com/jianzhan wordpress外贸主题案例 https://www.wpniu.com/moban

用户中心 -- 插件使用 插件使用思路

易错注意点 1 5.1启动类 & 入口类 需保持一致 网址: 第一节课,用户管理--后端初始化,项目调通。二次翻工2-CSDN博客 一、 用户管理 框架 网址: 用户管理 --汇总 -- 明细-CSDN博客 1.2 更改路径,并生效 网址…

基于SpringBoot的“家具销售电商平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“家具销售电商平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 管理员登录界面 管理员功能界面 家具分类管理…