❤ 给自己的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软件的详…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
