❤ 给自己的mac系统上安装java环境
❤ 给自己的mac系统上安装java环境
🍓 作为前端工程师如何给自己的mac系统上安装java环境
🍎 最近因为自己的一些项目需求,mac电脑上需要安装一些后台的java环境,用来跑后台的java程序,于是从一个前端工程师的角度安装了一些mac跑java环境需要软件和配置
1、idea软件安装
首先是跑后台常用的软件,我用的idea
官网地址:idea官网
这里我使用了m1适配的老版本,2020年的 2020.3.4版本

官网上的版本直接下载就ok啦!
然后一路安装就完成了
2、JDK1.8
因为OracleJDK暂时并不支持arm架构的芯片,所以我们使用openjdk:zulu版本,百度网盘地址:
链接: [M1芯片jdk1.8百度网盘地址](https://pan.baidu.com/s/1pkv04x7CJy4AbU5H8pUmhA) 密码: 5kwp
- 检测mac上是否安装成功java jdk1.8 的环境呢
mac 快捷键: command + 空格 输入ter按回车键调出终端窗口
java -version 即可查看自己的mac上有没有装java环境
3、mysql数据库安装
概述:后台环境开发需要数据库:MySql
① 下载,官网下载即可
直接去[MYSQL下载地址](https://dev.mysql.com/downloads/mysql/)
然后一路下载安装完事//Path路径附加MySQL的bin目录
PATH="$PATH":/usr/local/mysql/bin
//登陆MySQL (密码就是前面自己设定的临时密码)
mysql -u root -p已经启动了mysql
详细步骤:
② 使用
(1)启动MySQL服务
sudo /usr/local/MYSQL/support-files/mysql.server start
(2)停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
(3)重启MySQL服务
sudo /usr/local/mysql/support-files/mysql.server restart
(4)MySQL常见的一些操作命令
连接mysql
连接到本机上的MYSQL
打开DOS窗口,进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示后输入密码
创建一个数据库:
建库:create database 库名
查看本地的mysql数据库:
show databases;
修改密码
mysql admin -u root -p abc password def
建表:create table 表名 (字段设定列表);
显示数据表的结构:describe 表名;
删库和删表:
drop database 库名;
drop table 表名;
显示表中的记录:select * from 表名;
将表中记录清空:delete from 表名;
③ Mac安装Navicat for MySQL(数据库管理工具)
对navicat的操作
navicat如何设置成中文
(步骤1) 打开软件,选择“Tools”打开
(步骤2) 打开软件,点击Options打开
(步骤3) language设置成中文
mac上我安装的没有 :没找到,于是找了找设置中文的方法再次
解决设置中文的方法
- 比较麻烦 最后没解决
Navicat报错:1045-Access denied for user root@localhost(using password:YES)
解决方法:
密码输错了,最后清除mac系统的密码,然后重新登录连接即可
: 解决mac 忘记Mysql数据库密码方法 已写另一篇文章中
Navicat最后终于连接成功。
数据库的密码一定要记好

④ 登录数据库并进行相关操作的命令
关闭apache 服务
sudo sh /Library/Tomcat/bin/shutdown.sh
【意思就是执行一下位于根目录下面的shutdown.sh文件】
环境装好了,接下来开始跑我们的项目吧
4、MAC安装maven
在mac上装maven环境
打开官网:https://maven.apache.org/download.cgi
maven官网
MAC安装maven历史版本,去下载对应的历史版本

下载对应的压缩版本

点进去以后选择压缩版本下载

下载完成后解压到任意目录,将文件放到根目录下面
配置系统环境变量
apache-maven-3.6.0 我的maven包
打开终端输入
vim ~/.bash_profile
再输入 source .bash_profile
更新环境变量
3、配置镜像
首先,需要在配置的路径下找到apache-maven文件夹,在其中的/conf文件夹下,找到settings.xml文件,用文本编辑器打开,在给出的<mirror>镜像的样例下,配置阿里云的镜像。
<mirror><id>nexus-aliyun</id><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url><mirrorOf>central</mirrorOf>
</mirror>
</mirror>
至此,就完成了Maven的全部配置
在IDEA之中引入和使用maven的环境

但是一直遇到一个问题,就是引入整个maven一直显示类似前端里面的依赖包找不到
于是只能 mac上在idea编辑器中配置自己下载的maven仓库
配置属于自己的tomcat服务器 ,按照步骤来即可。
无奈忘记mysql密码,Mysql密码更改一下
(1)进入mysql的根目录bin目录下
(2)命令行输入sudo su
(3)输入密码 需要输入的你自己电脑的管理员密码(开机密码),以获取管理员权限
(4)输入 ./mysqld_safe --skip-grant-tables & 跳过验证密码端口
回车以禁止mysql验证功能,mysql会自动重启,偏好设置中的mysql状态会变成running。
新打开一个窗口登录进去mysql
(5)输入命令 ./mysql 回车
(6)输入命令 flush privileges; 分号别忘记输了
(7) 重置密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
7、执行 quit 退出mysql
8、执行 exit 退出sudo
9、密码重置已完毕,可以试试登陆mysql。
mysql -u root -p
格外注意 标注mysql数据库版本,mysql8修改密码那句变成了 SET PASSWORD FOR root@localhost = 'root';
maven/gradle
🍓 mysql的使用
1)在终端使用命令以安全模式启动mysql服务:
sudo /usr/local/mysql/bin/mysqld_safe –skip-grant-tables,2)打开另一个终端 执行命令:(此时要求输入的密码为用户开机密码)
sudo /usr/local/mysql/bin/mysql -u root3)在终端执行修改密码命令重置密码:
UPDATE mysql.user SET authentication_string=PASSWORD(‘12345678’) WHERE User=’root’;,或
UPDATE mysql.user SET Password =PASSWORD(‘admin123’) WHERE User=’root’;4)刷新FLUSH PRIVILEGES:
FLUSH PRIVILEGES;5)这里可以对mysql服务进行人为启动或者暂停,也可以在终端对mysql开启或者关闭mysql服务:// 启动:
sudo /usr/local/mysql/support-files/mysql.server start
// 关闭
sudo /usr/local/mysql/support-files/mysql.server stop进入mysql数据库:
mysql -u root -p
输入自己的数据库密码:
4.1maven官网地址:
下载这个地址的maven

解压压缩包
这个时候就可以配置环境变量了
// 输入命令
vim ~/.bash_profile//打开后配置环境变量,点i为输入,复制下面两句,MAVEN_HOME,换成自己下载的路径
export MAVEN_HOME=/Users/…/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
//配置完毕后 esc + :wq 保存退出//输入 使配置生效
source ~/.bash_profile//测试是否成功,要先装好jdk哦
mvn -version
5、 在mac上装个后台apache-tomcat-8.5.85
一般后台环境开发需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:1G内存以上 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:否
2、 IDE环境
command + , 打开Preferences设置窗口 是IDEA中的全局设置(","是基础)
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
❤️ mac配置 tomcat环境
第一步:下载Tomcat
下载链接:http://tomcat.apache.org/download-80.cgi

1 、下载其中的压缩文件夹:
放到 /user/local 文件夹下面
2、 我的mac下apache配置
- apache-tomcat-8.5.85
文件目录在:
/usr/local/apache-tomcat-8.5.85
3、 我们打开终端把我们的tomcat路径配置进去
输入open .bash_profile
4、配置mac的环境变量
export PATH=$PATH:/Users/xxx/Documents/work/java/apache-tomcat-8.5.85/bin
配置自己的apache-tomcat-8.5.85 文件夹到路径下面
这里特别有坑的地方
记得看好文件名字
记得mac里面的路径以:分隔开即可
最后保存只需要command+s。然后关闭即可
5、在 apache-tomcat-8.5.85 的bin 打开命令汗窗口额
输入以下命令行
startup.sh

6、测试是否成功
startup.sh就成功启动tomcat

❤️错误点1
遇到出现
permission defined
说明我们没有权限操作.sh文件
sudo chmod 755 /Users/xxx/Documents/work/java/apache-tomcat-7.0.64/bin/*.sh
最终获取打开bin目录下所有.sh的文件权限
6、Redis 安装使用
① Redis 概述
是一个key-value存储系统(官网:http://redis.io),是一个分布式缓存数据库
官网版本
https://redis.io/download/
github上windows版本
https://github.com/tporadowski/redis/releases
可以releases 下载6.2.4稳定版本的tar包
1、下载redis安装包
2、先新建一个文件夹用于存放Redis压缩包解压后的文件,新建一个文件夹为:redis-5.0.14,上面下载的安装包解压缩到一个固定目录中,例如我在E:AppDevlpredis目录下解压缩
3、添加一个环境变量,将 thereids安装目录添加到环境变量路径中
几个重要的文件
redis配置文件为:redis.windows.conf、redis.windows-service.conf
redis绑定地址以及默认端口配置都可在这两个文件中找到
4、配置环境变量
复制redis的解压路径,例如我的为:C:\Program Files\Redis\
找到【path】环境变量,新建一个环境变量值为redis的解压路径
D:\anzhuang\redis-5.0.14
下面是其中的一些具体的参数:
修改redis.windows.conf配置文件
#bind 127.0.0.1 // 指定Redis 只接收来自于该IP 地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中为了安全最好设置该项。注释掉,不开启
protected-mode no //将yes改为no
port 6379 // 监听端口,默认为6379
daemonize yes // 使用yes启用守护进程,后台运行
pidfile /home/deploy/redis/redis_20002.pid // 你可以配置到其他地址。当运行多个redis 服务时,需要指定不同的pid 文件和端口
logfile "/home/deploy/redis/logs/redis.log" // 设置log输出目录
dir /home/deploy/redis/data/ // 设置数据存放的目录
requirepass 123456 // 设置redis密码
将Redis 加入 Windows 服务并启动,执行
redis-server --service-install redis.windows.conf
提示:Redis successfully installed as a service.
表示成功!
计算机管理中找到服务并启动:
使用redis-cli连接redis
redis-cli.exe -h 127.0.0.1 -p 6379
设置键值对:
set aa 1234
取出键值对:
get aa相关文章:
❤ 给自己的mac系统上安装java环境
❤ 给自己的mac系统上安装java环境 🍓 作为前端工程师如何给自己的mac系统上安装java环境 🍎 最近因为自己的一些项目需求,mac电脑上需要安装一些后台的java环境,用来跑后台的java程序,于是从一个前端工程师的角度安…...
Java-匿名类
介绍 匿名类是指没有名字的类,它对一个给定的类进行拓展,或者实现一个给定的接口。使用匿名类可以使得代码更加简洁、紧凑、模块程度更高。 实现方式及语法 匿名类有两种实现方式 继承一个类,重写其方法实现一个接口(可以是多…...
Maven的超级POM
对于我们创建的一个maven工程,即便我们自己的pom.xm文件中没有明确指定一个父工程(父POM),其实也默认继承了超级POM,就好比JAVA类继承Object类一样。 maven官网关于超级POM的介绍: https://maven.apache.o…...
软考高级系统架构设计师系列论文九十二:论新技术的引进
软考高级系统架构设计师系列论文九十二:论新技术的引进 一、摘要二、正文三、总结一、摘要 根据国家税务总局对税务系统内所有系统进行集成与整合的需求,我所在的开发单位组织了全国金税工程防伪税控系统网络版的升级开发工作。该项目工程浩大,要求在具有严格的安全、可靠性…...
vue使用Bootstrap的详细方法
要在Vue中使用Bootstrap,您可以按照以下步骤进行操作: 安装Bootstrap:首先,您需要安装Bootstrap。您可以使用npm或者yarn来安装Bootstrap。打开终端,并在项目的根目录中运行以下命令: npm install bootst…...
leetcode做题笔记103. 二叉树的锯齿形层序遍历
给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 思路一:BFS #define N 2000int** zigzagLevelOrder(st…...
如果将PC电脑变成web服务器:利用Nignx反向代理绕过运营商对80端口封锁
如果将PC电脑变成web服务器:利用Nignx反向代理绕过运营商对80端口封锁 在上一篇文章中,我们已经实现了内网主机的多次端口映射,将内网主机的端口映射到了公网,可以通过公网访问该主机了。 因为电信的家庭宽带,默认是…...
Eureka:服务注册-信息配置-自我保护机制
首先在提供者服务下,添加一个依赖 <!-- Eureka --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version><…...
C++二叉树进阶
本期内容我们讲解二叉树的进阶知识,没有看过之前内容的小伙伴建议先看往期内容 二叉树-----补充_KLZUQ的博客-CSDN博客 目录 二叉搜索树 代码实现 基础框架 Insert Find Erase 析构函数 拷贝构造 赋值 二叉搜索树的应用 全部代码 二叉搜索树 二叉搜索树…...
layui tree组件取消勾选
layui(2.8.15) tree的api中,只有 tree.setChecked(id, idArr) 方法,没有取消勾选的方法。 我的需求是:勾选后做判断,如果不符合条件则取消勾选。 实现方法: 使用 tree的oncheck事件,在回调函数中做判断&…...
【Android基础面试题】ViewPager与ViewPager2的区别
ViewPager和ViewPager2是Android中用于实现滑动页面切换的控件。它们的主要区别如下: 实现方式 ViewPager2的内部实现是RecyclerView,而ViewPager是通过继承自ViewGroup实现的。因此,ViewPager2的性能更高。 滑动方向 ViewPager2可以实现横向…...
springCloudGateway网关配置
1.配置跨域支持 /*** 跨域支持*/ Configuration public class CorsConfig {Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedH…...
kali 2023.3新增工具
在终端模拟器中运行 sudo apt update && sudo apt full-upgrade 命令来更新其安装 Kali Linux 2023.3 发布中包含了九个新工具,分别是: Calico:云原生网络和网络安全。 cri-tools:用于Kubelet容器运行时接口的命令行界面…...
W25Q64 驱动--基于SPI2接口
前言 (1)本系列是基于STM32的项目笔记,内容涵盖了STM32各种外设的使用,由浅入深。 (2)小编使用的单片机是STM32F105RCT6,项目笔记基于小编的实际项目,但是博客中的内容适用于各种单片…...
禁用无线键盘指定按键
文章目录 前言主体 前言 睡一觉把键盘压坏了一个按键,一开机键盘就自动打出这个字母,我在想用其他按键平替这个字母即可,使用软件修改内部的映射,那么使用autoHotkey软件是十分容易做到的 主体 letter_replace.ahk 创建一个如此命名的文件,然后输入命令即可 a::b 代表平替 a…...
分数规划(二分)
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 小咪是一个土豪手办狂魔,这次他去了一家店,发现了好多好多(n个)手办,但他是一个很怪的人,每次只想买k个手办&a…...
Vue2向Vue3过度Vue3状态管理工具Pinia
目录 1. 什么是Pinia2. 手动添加Pinia到Vue项目3. Pinia基础使用4. getters实现5. action异步实现6. storeToRefs工具函数7. Pinia的调试8. Pinia持久化插件 1. 什么是Pinia Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品 2. 手动添加Pinia到…...
STM32--SPI通信与W25Q64(1)
文章目录 前言SPI通信硬件电路移位过程 SPI时序起始与终止条件交换一个字节 W25Q64硬件电路框图 FLASH操作注意事项软件SPI读写W25Q64 前言 USART串口链接入口 I2C通信链接入口 SPI通信 SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的串…...
版本控制工具Git常见用法
Git 是一个非常强大和灵活的版本控制工具,提供了许多命令和功能来管理代码的版本、分支、合并等。以下是一些 Git 的详细用法: 配置相关命令: 设置用户名和邮箱: git config --global user.name "Your Name" git conf…...
Multisim软件安装包分享(附安装教程)
目录 一、软件简介 二、软件下载 一、软件简介 Multisim软件是一款电路仿真和设计软件,由美国国家仪器公司(National Instruments)开发。它提供了一个交互式的图形界面,使用户能够轻松地构建和仿真电路。以下是Multisim软件的详…...
无人机远程识别系统如何解决合规飞行的技术痛点:基于ESP32的开源实现方案
无人机远程识别系统如何解决合规飞行的技术痛点:基于ESP32的开源实现方案 【免费下载链接】ArduRemoteID RemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID 随着全球无人机监管政策的收紧,远程识别…...
别再为长文档发愁了!用DeepSeek-OCR + 单块A100,5步搞定古籍/财报批量识别
单块A100实战指南:用DeepSeek-OCR高效处理古籍与财报的5个关键步骤 当某省级图书馆需要数字化10万页明清古籍时,技术团队发现传统OCR方案需要3个月才能完成,而采用DeepSeek-OCR配合单块A100的方案,仅用11天就交付了准确率92%的数…...
Java: 手动实现DeepSeek R1工具调用,基于ReAct与Spring AI的实践指南
1. DeepSeek R1工具调用的现状与挑战 DeepSeek R1作为当前热门的开源大模型,在实际应用中经常会遇到需要调用外部工具的场景。但很多开发者在使用过程中发现,当前版本的DeepSeek R1并不支持原生的工具调用功能。这意味着当我们想让模型执行诸如查询天气、…...
深度学习训练中loss震荡与不收敛的常见原因及实战调优策略
1. 为什么你的模型loss像过山车?先看懂这些典型症状 第一次打开TensorBoard看到自己的loss曲线像心电图一样上蹿下跳,那种感觉就像新手司机开车时方向盘失控。其实loss震荡和不收敛是深度学习中再常见不过的问题,但不同表现背后藏着完全不同的…...
别再只用LSTM了!用XGBoost做电力负荷预测,从特征工程到模型部署的完整实战(附Python代码)
电力负荷预测实战:XGBoost如何超越LSTM的五大技术突破 在能源管理领域,准确预测电力负荷一直是行业痛点。当大多数团队还在使用LSTM等深度学习模型时,一个令人惊讶的事实正在发生:经过精心调优的XGBoost模型在多个工业场景中表现优…...
Alpamayo-R1-10B入门必看:VLA模型与传统端到端/模块化架构的本质差异
Alpamayo-R1-10B入门必看:VLA模型与传统端到端/模块化架构的本质差异 1. 引言:自动驾驶决策的十字路口 想象一下,你正在教一个新手司机开车。传统的方法有两种:一种是让他死记硬背所有交通规则和操作步骤(模块化&…...
FireRedASR-AED-L从零部署:无需Python环境,Docker镜像开箱即用指南
FireRedASR-AED-L从零部署:无需Python环境,Docker镜像开箱即用指南 你是否遇到过这样的情况?想用最新的语音识别模型,却被复杂的Python环境、版本冲突和依赖安装搞得焦头烂额。或者好不容易装好了环境,又因为音频格式…...
【笔试真题】- 小红书-2026.03.25
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围在线刷题 bishipass.com 小红书-2026.03.25 本次三题均对应历史原题,这一场按原题复用口径直接整理。 题目一:好数判断 只需要关心不同奇质因子的个数奇偶性。预处理质数后做分解即…...
CentOS 8下openLDAP服务器搭建避坑指南:从第三方仓库到phpLDAPadmin配置
CentOS 8企业级openLDAP部署实战:从仓库选择到安全加固全解析 在当今企业IT架构中,目录服务作为身份认证和资源管理的核心组件,其重要性不言而喻。而openLDAP作为开源目录服务的标杆解决方案,凭借其轻量高效、跨平台兼容的特性&am…...
低成本搭建QQ机器人:OpenClaw+nanobot消息中转方案
低成本搭建QQ机器人:OpenClawnanobot消息中转方案 1. 为什么选择OpenClawnanobot方案 去年我在管理一个小型技术社群时,经常需要处理重复性的问答和通知发布。尝试过多个机器人框架后,最终选择了OpenClawnanobot的组合方案。这个方案最吸引…...
