Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件

news2024/11/28 4:29:50

文章目录

  • 前言
  • 一、配置环境变量路径问题
    • 1、macOS 下环境变量的配置文件
    • 2、解决环境变量在 zsh shell 无效的问题
    • 3、查看 macOS 全部环境变量
    • 4、设置系统环境变量
  • 二、JDK下载&配置环境变量
    • 1、下载
    • 2、配置环境变量
    • 3、测试
  • 三、maven下载&配置环境变量
    • 1、下载
    • 2、环境变量
    • 3、测试
    • 4、报错啦
  • 四、tomcat下载&配置环境变量(暂无)

前言

离职回到学校,电脑是赎买的公司Mac。什么都没有,所以需要重新下载和配置环境变量,就来写这篇文章啦。

一、配置环境变量路径问题

1、macOS 下环境变量的配置文件

/etc/paths 
/etc/profile 
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
  • /etc/profile/etc/paths 是系统级别的配置文件,后面几个是用户级的配置文件。

  • 文件加载顺序:
    系统启动时会按上面罗列的配置文件从上到下的顺序加载。但是,如果 ~/.bash_profile 文件存在,那么 ~/.bash_login~/.profile~/.bashrc 会被忽略,如果不存在 ~/.bash_profile 文件,才会按顺序读取后面的文件。另外,~/.bashrc 文件又比较特殊,这个文件是在 bash shell 打开时才加载的,并不是系统启动后就加载的。

2、解决环境变量在 zsh shell 无效的问题

  • Shell、Bash、Zsh这都是啥啊:https://blog.csdn.net/u011291072/article/details/122782942
  • zsh与bash区别:https://blog.csdn.net/qq_40520596/article/details/104642218

以上的配置文件在 bash shell 环境下才有效,在 zsh shell 环境下无效。如果希望在 zsh shell 下可以使用上述配置文件中的环境变量,可以在 ~/.zshenv 或者 ~/.zshrc 文件中添加下面的命令语句:

source /etc/profile 
source ~/.bash_profile

打开 zsh shell 时会顺序加载 ~/.zshenv~/.zshrc 文件,添加上面两条命令语句,则表示加载 ~/.zshenv~/.zshrc 时会去调用外部脚本文件 /etc/profile~/.bash_profiel,且被调用的脚本运行结束后,所拥有的环境变量和声明变量会被当前 zsh shell 保留,类似将调用脚本的内容复制过来直接执行,执行完毕后原主 shell 继续运行。所以通过这样的方式就可以使用在 bash shell 环境下配置的环境变量了。

当然你也可以直接将相关的环境变量配置在 ~/.zshrc 文件中,但是显然是多余而且繁琐了,每次你要新增一个环境变量的时候,你都要在 bash shell 有关的配置文件中添加,又要在 zsh shell 有关的配置文件中添加,显然是不合适的。而如果每次加载 ~/.zshrc 文件时会自动调用 bash shell 有关的配置文件,那么所有的环境变量只要在 bash shell 有关的配置文件中添加就可以了。

3、查看 macOS 全部环境变量

输入命令 export,查看全部的环境变量:

[~]$ export
AUTOJUMP_ERROR_PATH=/Users/liaowenxiong/Library/autojump/errors.log
AUTOJUMP_SOURCED=1
HOME=/Users/liaowenxiong
HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
LANG=zh_CN.UTF-8
LESS=-R
LOGNAME=liaowenxiong
LSCOLORS=Gxfxcxdxbxegedabagacad
NEXUS_HOME=/Users/liaowenxiong/Applications/nexus-3.20.1-01-mac/nexus-latest
OLDPWD=/Users/liaowenxiong
...

4、设置系统环境变量

系统环境变量在 /etc/profile 文件中配置,编辑该文件需要 root 权限:

sudo vim /etc/profile

新增环境变量 JAVA_HOME、CLASS_PATH,内容如下:

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".:.$PATH:$JAVA_HOME/bin"

上面的脚本内容解读:
声明定义了一个环境变量 JAVA_HOME,变量的值是 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home,并且将该变量声明成可以输出,即可以复制给子进程。

二、JDK下载&配置环境变量

1、下载

官网跳转链接
网上优秀博客:https://blog.csdn.net/u011374856/article/details/116641408

2、配置环境变量

下载的是安装包,安装好就自动配置环境变量

3、测试

两个命令

1. java -version
2. java

三、maven下载&配置环境变量

1、下载

https://blog.csdn.net/u011374856/article/details/116648311

2、环境变量

# 1、进入到用户目录下,输入
cd ~
# 2、打开环境变量配置文件
open .bash_profile
# 复制如下内容,MAVEN_HOME 替换为自己目录
export MAVEN_HOME=/Users/yao/Documents/program/apache-maven-3.8.1
export PATH=$MAVEN_HOME/bin:$PATH:.
# 配置文件立即生效
source .bash_profile

# 查看 MAVEN_HOME 目录
echo $MAVEN_HOME

3、测试

# 查看 maven 版本信息
mvn -v

在这里插入图片描述

4、报错啦

报错信息

错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher

两个方法

  1. 检查配置环境的变量,MAVEN_HOME 的变量只能到maven的路径,不能到bin
  2. 重新下载一个新的版本。(我是通过这个解决的)

四、tomcat下载&配置环境变量(暂无)

因为目前没用,所以暂时不用

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

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

相关文章

day28-Github Profiles(获取Github用户概要)

50 天学习 50 个项目 - HTMLCSS and JavaScript day28-Github Profiles&#xff08;获取Github用户概要&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

第三章:C语言的循环控制结构

文章目录 1.While2.do...while...3.for循环 1.While 标准格式&#xff1a;while() 括号后面如果直接写1则表示是死循环&#xff1a;while(1) 括号后面也可以是执行条件&#xff0c;比如下面的代码是只有当i<10时才会进入循环执行&#xff0c;执行完毕后自动退出 运行结果 …

Qgis二次开发-QgsMapTool地图交互工具详解

1.简介 QgsMapTool地图工具是用于操作地图画布的用户交互式工具。例如&#xff0c;地图平移和缩放功能被实现为地图工具。 QgsMapTool是抽象基类&#xff0c;以下是类的继承关系&#xff1a; 2.常用接口 virtual void canvasDoubleClickEvent (QgsMapMouseEvent *e)重写鼠标…

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.文件结构3.Excel数据4.分块代码4.1 arithXover.m4.2 delta.m4.3 ga.m4.4 gabpEval.m4.5 initializega.m4.6 maxGenTerm.m4.7 nonUnifMutation.m4.8 normGeomSel…

Hadoop简介以及集群搭建详细过程

Hadoop简介以及集群搭建详细过程 hadoop集群简介hadoop部署模式Hadoop集群安装1.集群角色规划2.服务器基础环境准备3.上传安装包hadoop安装包目录结构5.编辑hadoop配置文件6.分发安装包7.配置hadoop环境变量8.NameNode format(格式化操作) hadoop集群启动关闭-手动逐个进程启停…

数字孪生in电力终端:高效虚拟环境实现测试“左移”

电力资源是现代社会发展必不可少的清洁型可再生资源&#xff0c;在清洁性、高效性、便捷性和适用性等方面优于传统化石能源&#xff0c;是如期实现2030年前碳达峰、2060年前碳中和的“双碳”目标的关键。2006至2019年前&#xff0c;电力行业累计为全社会减少了约159.4亿吨的碳排…

VSCode_常用插件_最新推荐

本文介绍前端开发领域常用的一些VSCode插件&#xff0c;插件是VSCode最重要的组成部分之一&#xff0c;本文列出了个人觉得是有用或有趣的一些插件。 一、代码管理相关插件 1、GitLens — Git supercharged 该插件增强了 VS Code 中的 Git&#xff0c;通过丰富的可视化和强…

【大厂直通车】百度2024届测开提前批一面面经(烫).

&#x1f4ec;&#x1f4ec;哈喽&#xff0c;大家好&#xff0c;我是小浪。那么最近24届提前批的公司陆续开了大大小小有好几十家了。有很多的同学已经制作好了简历&#xff0c;陆续开始投递了。但是结果&#xff0c;确实很不尽人意&#xff0c;在某论坛上面看到很多同学简历这…

5分钟,结合 LangChain 搭建自己的生成式智能问答系统

伴随大语言模型&#xff08;LLM&#xff0c;Large Language Model&#xff09;的涌现&#xff0c;人们发现生成式人工智能在非常多领域具有重要意义&#xff0c;如图像生成&#xff0c;书写文稿&#xff0c;信息搜索等。随着 LLM 场景的多样化&#xff0c;大家希望 LLM 能在垂直…

如何邀请明星和乐队演出你的音乐节?

组织一场音乐节是一个令人兴奋和具有挑战性的任务。邀请明星和乐队演出是吸引观众、增加活动吸引力的重要一环。以下是一些关键步骤和策略&#xff0c;媒介易帮助你成功邀请明星和乐队演出你的音乐节。 确定音乐节的定位和目标&#xff1a;首先&#xff0c;明确你的音乐节的定…

人工智能现在可以在没有人类的情况下学习!

一旦精灵离开灯&#xff0c;即使不是不可能&#xff0c;也很难将其放回去&#xff01; 南加州大学的一项研究表明 &#xff0c;相互共享知识的人工智能模型可以相互学习并快速掌握不同的任务。 这一发现具有在包括医学在内的各个领域应用的潜力。 一组研究人员开发了一种名…

shell脚本定时推送钉钉战报

一、目的与演示效果 解析服务端返回的如下字符串&#xff0c;获取今日数据、历史数据&#xff0c;实现钉钉定时推送战报效果。 {"code": "00000","msg": "","success": true,"data": {"2023-07-19": …

nacos适配达梦、瀚高、人大金仓数据库及部分源码探究

一.插件实现 1.插件目录结构 2.pom依赖 <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-datasource-plugin</artifactId><version>2.2.4</version></dependency><dependency><groupId>org.s…

自动化测试(二):安卓机初探与Python实现andriod截图实例

目录 1.安卓开发常用术语介绍2. 各种SDK的安装&#xff08;陆续补充ing&#xff09;2.1 JDK的安装2.2 单独安装Android SDK部分组件2.3 Android NDK的安装 3. pythonminicap实现andriod截图实例4. TODO 1.安卓开发常用术语介绍 IDE (Integrated Development Environment) : 集成…

索引的本质与数据结构

点击上方↑“追梦 Java”关注&#xff0c;一起追梦&#xff01; 正确合理的创建索引是提升数据库查询性能的基础&#xff0c;因此针对数据库来说&#xff0c;索引是必须要掌握的。 1 数据库索引的本质 我们一说到索引&#xff0c;如果大家想到是一个类似于字典的目录&#xff0…

Eclipse整合tomcat时要注意的几点

Eclipse整合tomcat时要注意的几点 1、安装目录及jdk 2、参数配置 注意&#xff1a;Arguments的配置&#xff0c;日志输出文件目录及java内存大小设置等&#xff0c;如下&#xff1a; -Dcatalina.base"E:\apache-tomcat-7.0.52" -Dcatalina.home"E:\apache-tomc…

【hadoop】Java API连接(操作)HDFS

Java API连接&#xff08;操作&#xff09;HDFS 直接连接遇到的问题设置执行的用户为root用户使用Java的-D参数来设置环境变量使用chmod的命令赋予权限修改参数配置 直接连接遇到的问题 直接运行下面的代码&#xff0c;会出现权限不够的问题 Test public void test1() throws…

Meta牵手Microsoft推出下一代Llama 2

官方消息 1、今天&#xff0c;我们将介绍 Llama 2 的可用性&#xff0c;这是我们的下一代开源大型语言模型。 2、Llama 2免费用于研究和商业用途。 3、Microsoft和 Meta 正在扩大他们的长期合作伙伴关系&#xff0c;Microsoft 是 Llama 2 的首选合作伙伴。 4、在技术、学术…

[SQL系列] 从头开始学PostgreSQL 自增 权限和时间

[SQL系列] 从头开始学PostgreSQL 事务 锁 子查询_Edward.W的博客-CSDN博客https://blog.csdn.net/u013379032/article/details/131841058上一篇介绍了事务&#xff0c;锁&#xff0c;子查询 事务有点像是原子操作&#xff0c;需要有完整性&#xff0c;要么全都完成了&#xff…

【目标跟踪】2、FairMOT | 平衡多目标跟踪中的目标检测和 Re-ID 任务 | IJCV2021

文章目录 一、背景二、方法2.1 Backbone2.2 检测分支2.3 Re-ID 分支2.4 训练 FairMOT2.5 Online Inference 三、效果3.1 数据集3.2 实现细节3.3 消融实验3.4 最终效果 论文&#xff1a;FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracki…