macOS .bash_profile配置文件优化记录

文章目录

  • 说明
  • 原文件内容
  • 优化思路
  • 优化操作
  • 测试验证
    • 1. 验证`JAVA_HOME`
    • 2. 验证`MAVEN_HOME`
    • 3. 验证`MONGODB_HOME`
    • 4. 验证`CLASSPATH`
    • 5. 验证`PATH`

说明

  • 展示的代码中,关于具体的文件路径位置,请灵活修改为自己的真实文件目录!

原文件内容

  • 从macOS Catalina(10.15)开始,Zsh成为了macOS的默认Shell。
    chsh -s /bin/zsh
    
  • 打开.bash_profile文件
    open -e .bash_profile
    
  • 文件内容显示为:
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents
    export PATH=$JAVA_HOME/bin:$PATH:.
    export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
    export MAVEN_HOME=/Library/Java/env/maven/maven-3.9.9
    export PATH=$MAVEN_HOME/bin:$PATH:.
    export PATH=/usr/local/mongodb/bin:$PATH
    

优化思路

  1. 避免重复设置PATH:每次设置PATH时,都在前面添加新的路径,会导致PATH变量过长。可以一次性集中设置PATH。
  2. 使用更通用的方式设置CLASSPATH:由于tools.jar和dt.jar在较新版本的JDK中可能不再存在,可以考虑动态设置CLASSPATH。
  3. 使用环境变量来减少冗余:将常用路径提取为变量,以便于修改和维护。

优化操作

  1. Java环境变量:确保JAVA_HOME指向Contents/Home目录,这是标准的Java目录结构。
  2. Maven和MongoDB环境变量:继续设置MAVEN_HOMEMONGODB_HOME
  3. CLASSPATH设置:检查$JAVA_HOME/lib目录是否存在,并添加tools.jar和dt.jar
  4. PATH设置:集中一次性添加所有新的路径,避免重复和冗长。
  • 使用#号注释文件中多余的内容
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents
#export PATH=$JAVA_HOME/bin:$PATH:.
#export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
#export MAVEN_HOME=/Library/Java/env/maven/maven-3.9.9
#export PATH=$MAVEN_HOME/bin:$PATH:.
#export PATH=/usr/local/mongodb/bin:$PATH

# Java Environment
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home
export MAVEN_HOME=/Library/Java/env/maven/maven-3.9.9
export MONGODB_HOME=/usr/local/mongodb

# CLASSPATH: adding JAVA_HOME/lib/tools.jar and JAVA_HOME/lib/dt.jar if they exist
if [ -d "$JAVA_HOME/lib" ]; then
  export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
fi

# PATH: add all necessary paths in one line
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$MONGODB_HOME/bin:$PATH:.
  • 激活配置:更新.bash_profile后,需要重新加载文件才能使配置生效:
    source ~/.bash_profile
    

测试验证

1. 验证JAVA_HOME

  • 确保JAVA_HOME环境变量正确设置,并且Java命令可以正常运行:
echo $JAVA_HOME
  • 验证Java版本:输出应该显示Java的版本信息
java -version

2. 验证MAVEN_HOME

  • 确保MAVEN_HOME环境变量正确设置,并且Maven命令可以正常运行:
    echo $MAVEN_HOME
    
  • 验证Maven版本:输出应该显示Maven的版本信息
    mvn -version
    

3. 验证MONGODB_HOME

echo $MONGODB_HOME
  • 验证MongoDB命令是否可用,输出应该显示MongoDB的版本信息
    mongod --version
    

4. 验证CLASSPATH

-验证CLASSPATH环境变量是否正确设置:
bash echo $CLASSPATH

5. 验证PATH

  • 确保所有路径都已正确添加到PATH环境变量中:
    echo $PATH
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

已解决:org.springframework.web.HttpMediaTypeNotAcceptableException

文章目录 写在前面问题描述报错原因分析: 解决思路解决办法1. 确保客户端请求的 Accept 头正确2. 修改 Controller 方法的 produces 参数3. 配置合适的消息转换器4. 检查 Spring 配置中的媒体类型5. 其他解决方案 总结 写在前面 在开发过程中,Spring 框…

Matlab数据预处理——最小二乘法消除多项式趋势项

关注公众号“电击小子程高兴的MATLAB小屋”获取专属优惠 概要: 最小二乘法是一种常用的统计方法,用于通过拟合数据来消除多项式趋势项。以下是关于如何使用最小二乘法消除多项式趋势项的步骤和概念: 概念: 多项式趋势项&#…

JavaWeb 14.详解TCP协议的三次握手和四次挥手

目录 一、TCP协议与UDP协议 二、TCP协议 1、建立连接(三次握手) 过程 2、断开连接(四次挥手) 过程 国庆节快乐! 一文详解TCP协议中的三次握手建立连接和四次挥手断开连接 —— 24.10.3 一、TCP协议与UDP协议 tcp协议与…

案例-表白墙简单实现

文章目录 效果展示初始画面提交内容后画面&#xff08;按键按下&#xff09; 代码区 效果展示 初始画面 提交内容后画面&#xff08;按键按下&#xff09; 代码区 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

盲拍合约:让竞拍更公平与神秘的创新解决方案

目录 前言 一、盲拍合约是什么&#xff1f; 二、盲拍合约工作原理 1、合约创建与初始化 2、用户出价&#xff08;Bid&#xff09; 3、出价结束 4、披露出价&#xff08;Reveal&#xff09; 5、处理最高出价 6、结束拍卖 7、退款与提款 三、解析盲拍合约代码…

国产长芯微LUM6100高可靠性双通道双向I2C数字隔离器P2P替代ADUM1250 ADUM1251替代ISO1540 ISO1541

描述 LUM6100系列是高可靠性的双向l2C数字隔离器。提供符合UL1577的多种电气隔离耐压(3.75kVrms, 5kVrms)&#xff0c;且具有高电磁抗扰度和低辐射的特性。支持I2C时钟高达2MHZ&#xff0c;共模瞬态抗干扰度(CMTI)高达150kV/μs。宽供电范围可直接对接大多数MCU等数字接口,并且…

【C语言】使用结构体实现位段

文章目录 一、什么是位段二、位段的内存分配1.位段内存分配规则练习1练习2 三、位段的跨平台问题四、位段的应用五、位段使用的注意事项 一、什么是位段 在上一节中我们讲解了结构体&#xff0c;而位段的声明和结构是类似的&#xff0c;它们有两个不同之处&#xff0c;如下&…

AI资深导师指导-ChatGPT深度科研工作应用、论文撰写、数据分析及机器学习与AI绘图

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

【PS2020】Adobe Photoshop 2020 中文免费版

photoshop 2020是全球最大的图像处理软件&#xff0c;为用户提供了广泛的专业级润饰工具套件&#xff0c;集成了专为激发灵感而设计的强大编辑功能&#xff0c;帮助用户制作出满意的图片效果&#xff0c;是很多摄影师、广告师等专业人员必备的一款图像及照片后期处理大型专业软…

大数据处理从零开始————4.认识HDFS分布式文件系统

1.分布式文件系统HDFS 1.1 认识HDFS 当单台服务器的存储容量和计算性能已经无法处理大文件时&#xff0c;分布式文件系统应运而生。什么是分布式系统&#xff0c;分布式系统是由多个独立的计算机或节点组成的系统&#xff0c;这些计算机通过网络连接&#xff…

重生之我在代码随想录刷算法第十九天 | 第77题. 组合、216.组合总和III、 17.电话号码的字母组合

参考文献链接&#xff1a;代码随想录 本人代码是Java版本的&#xff0c;如有别的版本需要请上代码随想录网站查看。 第77题. 组合 力扣题目链接 解题思路 这道题目乍一看可以用暴力解法解决&#xff0c;但如果k的数量增加那就需要套特别多的循环&#xff0c;所以这种组合类…

黑马linux笔记(转载)

学习链接 视频链接&#xff1a;黑马程序员新版Linux零基础快速入门到精通 原文链接&#xff1a;黑马程序员新版Linux零基础快速入门到精通——学习笔记 黑马Linux笔记 文章目录 学习链接01初识Linux1.1、操作系统概述1.1.1、硬件和软件1.1.2、操作系统1.1.3、常见操作系统 1.…

1.资源《Arduino UNO R3 proteus 仿真工程》说明。

资源链接&#xff1a; Arduino UNO R3 proteus 仿真工程 1.文件明细&#xff1a; 2.文件内容说明 包含&#xff1a;proteus工程、原理图、仿真程序。 3.内容展示 4.简述 该文件为proteus工程&#xff0c;用于Arduino uno r3仿真。 因为软件自动运行&#xff0c;所以最小…

编译链接的过程发生了什么?

一&#xff1a;程序的翻译环境和执行环境 在 ANSI C 的任何一种实现中&#xff0c;存在两个不同的环境。 第 1 种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第 2 种是执行环境&#xff0c;它用于实际执行代码 也就是说&#xff1a;↓ 1&#xff1…

CVE-2024-9014 pgAdmin4 OAuth2 client ID与secret敏感信息泄漏漏洞

文章目录 免责声明漏洞描述搜索语法漏洞复现nuclei修复建议 免责声明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 漏洞描述 pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具攻击者可构造恶意…

OpenCV库模块解析

1.OpenCV库每个模块解析 2.OpenCV的常用函数 它为计算机视觉应用程序提供了一个通用的基础设施&#xff0c;并加速了在商业产品中使用机器感知。作为BSD许可的产品&#xff0c;OpenCV使企业可以很容易地利用和修改代码。该库拥有超过2500个优化算法&#xff0c;其中包括经典和最…

Hotspot是什么?

Hotspot 简单来说&#xff0c;JVM的一种。 一、HotSpot 的官方定义 HotSpot 是 Oracle 公司开发的一个高性能的 Java 虚拟机&#xff08;JVM&#xff09;。它通过一系列先进的技术和优化手段&#xff0c;为 Java 应用程序提供高效的运行环境&#xff0c;实现了跨平台的代码执行…

页面引导解决方案分享

前言 本文主要介绍的是我们在项目中有时候会遇到需要一步一步引导用户操作的使用场景&#xff0c;类似于新手教学的操作指引&#xff0c;给出的解决方案是Intro.js 库&#xff0c;通过此库创建引导式用户体验。 介绍 Intro.js 是一个轻量级的 JavaScript 库&#xff0c;用于…

《向量数据库指南》深度解析:CLIP模型与Mlivus Cloud在多模态搜索中的强强联合

在当今这个信息爆炸的时代,如何高效、准确地从海量数据中检索出用户所需的信息,成为了摆在我们面前的一大挑战。而多模态搜索,作为一种能够同时处理图像、文本、音频等多种类型数据的搜索技术,正逐渐成为解决这一问题的关键。作为大禹智库的向量数据库高级研究员,同时也是…

【玩转 JS 函数式编程_008】3.1.2 JavaScript 函数式编程筑基之:箭头函数——一种更流行的写法

文章目录 3.1.2 箭头函数——更流行的方式 Arrow functions - the modern way1. 返回值 Returning values2. this 值的处理 Handling the this value3. arguments 的处理 Working with arguments4. 单参数还是多参数&#xff1f; One argument or many? 写在前面 故天将降大任…