记录一下Mac配置SpringBoot开发环境

由于很多项目喜欢使用传统的 Java 8 进行开发,而且 Java 8 的稳定性也是经过长久考验的,我们接下来就尝试一下,在一台新的 Mac 中配置 Java 环境,并且开始创建 SpringBoot 项目。

首先,去 Oracle 官网下载 java8 JDK ,选择 macOS 的 .dmg 版本安装包。
在这里插入图片描述
一路 continue 进行安装:
在这里插入图片描述
1. Java 环境配置
使用命令打开 .bash_profile 文件:

vim ~/.bash_profile

选择编辑模式,之后插入一下环境变量语句:

# java-environment-config
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib.dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

注意第二行中的 jdk1.8.jdk ,这里要改成你自己的 JDK 版本。
最后两行是maven需要的,这一步先忽略。

在这里插入图片描述

重要提示,博主之前在这里卡了一段时间,是由于jdk路径不对,导致后面的maven出错,最好按照以下两点核对一下路径是否正确:

1、查看Java的安装路径:/usr/libexec/java_home -V #这里一定要是大写的V。
2、查看变量值: echo $JAVA_HOME

保存以后,重新打开终端,输入以下命令保存刚才的文件:

source ~/.bash_profile

最后,新打开一个终端,输入命令 java查看环境是否生效:
在这里插入图片描述

  1. 验证 IDEA 使用 java1.8
    打开 IDEA ,新建一个项目,发现这时候已经自动识别出来 Java 解释器:
    在这里插入图片描述
  2. 配置 Maven 环境
    去 Apache官网 下载对应的 maven 压缩包
    在这里插入图片描述

下载以后,解压文件夹放到 “/Users/xx用户/” 路径下面,这里找不到路径可以进入访达后按下‘cmd+shift+G’进入具体页面。
在这里插入图片描述
在终端里输入以下命令,打开 .bash_profile 文件:

vim ~/.bash_profile

在 .bash_profile 文件中配置一下 maven 环境:

export MAVEN_HOME=/Users/summer/apache-maven-3.9.6
export PATH=$PATH:$MAVEN_HOME/bin

重启终端,输入命令

mvn -v

如果出现以下结果,说明此时 maven 环境配置成功。

在这里插入图片描述

但是,此时我们还不能关终端,在 maven 包中的 conf 文件夹中的 setting.xml 文件中,配置本地仓库地址和阿里云仓库地址。

<mirror> 
    <id>alimaven</id> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
    <mirrorOf>central</mirrorOf> 
</mirror>

在这里插入图片描述

至此,maven 环境配置结束。

  1. 在 IDEA 中加入 maven 仓库
    打开 IDEA 的 preference ,打开 maven 配置页面,将刚才的仓库地址和配置文件设置如下:

在这里插入图片描述

其中 Maven home path 为之前解压好的 maven 的路径,User settings file 是 maven 路径下的 conf 目录下的 settings.xml 文件的路径。

Local repository是默认仓库,但是当修改User settings file之后,里面的内容会自动读取 settings.xml 文件中的本地仓库路径。

配置好之后,点击Apply,就OK了。

  1. MySQL 与 Navicat
    安装 MySQL 开源的不难,安装 Navicat要难些,它是要收费的,如果你是土豪当我没说,
    在这里插入图片描述

只有找它的破解版本,下面提供几种方式大家试一试,亲测有效,如果你还是不行,可以自己再找一找:
1、https://www.jianshu.com/p/1c64f3d07e5a 。他的安装包是全的,rpk 文件也有,过程也很清晰,跟着一步步做就好了。我要说的是,安装完 Navicat 以后,出现的各种屌问题。
2、https://www.bilibili.com/read/cv25329508/,这个步骤会简单些。
3、https://baijiahao.baidu.com/s?id=1781342162627385221&wfr=spider&for=pc 这个mac版的在后面

到这里,我们新建一个Spring Boot 项目,写好数据库配置,就可以运行了。

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

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

相关文章

综合指南:如何创建有效的知识地图?

知识地图是知识管理中的重要工具&#xff0c;使企业能够有效地利用其资产。它促进了解决问题、新人整合和组织学习。此外&#xff0c;它还提高了生产力&#xff0c;实现了数据驱动的决策&#xff0c;并优化了流程。通过捕获和组织有价值的知识资产&#xff0c;它确保了专业知识…

properties出现中文乱码解决方法(万能)

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 在使用Properties类的时候,中文出现乱码 如图所示: 正常思维来讲,估计是中文编码有问题,于是我将其改为UTF-8的编码方式 通过下方的改动: 可到了这一步,中文还是乱码(这一步改成功的网友可自动立场,没改成功的网…

顺序表和链表面试题

文章目录 顺序表(1)原地移除数组中所有的元素val&#xff0c;要求时间复杂度为O(N)&#xff0c;空间复杂度为O(1)。(2)删除有序数组中的重复项(3)合并两个有序数组 链表(1)删除链表中等于给定值 val 的所有节点(2)反转一个单链表(3) 合并两个有序链表(4)链表的中间结点(5)链表中…

【PduR路由】PduR模块详细介绍

目录 1.PDUR模块功能介绍 2.关键概念理解 3.功能详细设计 3.1I-PDU handling 3.1.1 I-PDU Reception to upper module(s) 3.1.1.1 Communication Interface 3.1.1.2 Transport Protocol 3.1.2 I-PDU Transmission from upper module(s) 3.1.2.1 Multicast 3.1.2.2 Co…

Object Detection in 20 Years: A Survey(2019.5)

文章目录 Abstract1. Introduction1.1. Difference from other related reviews1.2. Difficulties and Challenges in Object Detection 2. OBJECT DETECTION IN 20 YEARS2.1. 目标检测路线图2.1.1. 里程碑:传统探测器&#xff08;粗略了解&#xff09;2.1.2. 里程碑:基于CNN的…

网工内推 | 上市公司初级网工,HCIP认证优先,14薪,享企业年金

01 易佰网络 招聘岗位&#xff1a;初级网络工程师 职责描述&#xff1a; 1.电脑周边设备&#xff08;打印机、扫描仪、传真机、复印机、投影仪等&#xff09;安装与维护&#xff1b; 2.局域网维护&#xff1b;无线网WLAN维护&#xff1b;监控系统维护&#xff1b; 3.固资维护管…

Lombok的踩坑系列之@Builder

背景&#xff1a; Lombok 这个插件大家日常工作中几乎是必备的&#xff0c;几个简单的注解就可以帮助我们减少一大坨get/set方法等&#xff1b;其中Builder注解使用的也很广泛&#xff0c;使用了建造者模式帮助我们构建出个性化的对象&#xff0c;本次踩坑点就在这个地方。 先…

《opencv实用探索·十》opencv双边滤波的简单理解

1、引言 OpenCV中的双边滤波&#xff08;Bilateral Filtering&#xff09;是一种保持边缘清晰的滤波方法&#xff0c;它考虑像素的空间关系和像素值之间的差异。双边滤波对于去除噪声的同时保持图像的边缘非常有效&#xff0c;它也是一种非线性滤波。 双边滤波采用了两个高斯滤…

孙宇晨入选The Giving Block年度加密慈善人物

日前,全球主流加密捐赠平台The Giving Block公布了2023年度“加密慈善人物”榜单,以表彰过去一年在加密慈善领域做出卓越贡献的个人。其中,波场TRON创始人、火币HTX全球顾问委员会委员孙宇晨因其瞩目的慈善成就入选该榜单。在榜单评语中,The Giving Block指出,孙宇晨做出了加密…

Verilog if语句阻断z状态传播

一、测试代码 设置两组输入输出&#xff0c;对比使用assign赋值语句与always if语句。 if_assign_test.v timescale 1ns / 1ps // // Engineer: wkk // Module Name: if_assign_test // module if_assign_test(input if_a_in,input if_b_in,input if_c_in,input if_d_in…

Servlet作业1

1.【单选题】 (10分) &#xff08;B &#xff09;是一个用 Java 编写的程序&#xff0c;是一种实现了Servlet接口的类&#xff0c;它是由web容器负责创建并调用&#xff0c;在服务器容器上运行&#xff0c;用于接收和响应用户的请求。 A.Filter B.Servlet C.Request D.Res…

c题目16:写一个递归函数,计算N阶乘

每日小语 一生中&#xff0c;最光辉的一天并非功成名就的那一天&#xff0c;而是从悲叹与绝望中产生对人生挑战与勇敢迈向意志的那一天。——福楼拜 自己思考 这个小语呢&#xff0c;我目前还达不到&#xff0c;只是顺其自然&#xff0c;很多东西做起来很有动力&#xff0c;…

MongoDB的学习记录

目录 MongoDB是什么MongoDB为什么存在MongoDB怎么用MongoDB解决什么MongoDB指令开发使用的mongoose模块讲解请看这篇文章 MongoDB是什么 MongoDB是一种开源的、面向文档的NoSQL数据库管理系统。它使用JSON格式来存储数据&#xff0c;具有高可扩展性、高性能、高可用性等特点&a…

探索Selenium的规避检测策略

Selenium之规避检测 背景 ​ 目前很多大网站有对selenium采取了监测机制。在正常情况下我们用浏览器访问相关网站的window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。我们如何伪装&#xff0c;防止被检测出来呢&#xff1f; ​ 这是…

使用 PyWebCopy 在 Python 中克隆网页

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com PyWebCopy 是一个用于克隆网页内容的 Python 库&#xff0c;它允许用户从指定的 URL 复制整个网页并保存到本地。本文将介绍 PyWebCopy 的基本用法&#xff0c;以及如何克隆网页并保存网页内容到本地文件夹。 安…

Linux进程间通信之共享内存

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容讲解共享内存原理和相关接口的介绍&#xff0c;以及一个…

服务端测试开发必备技能:Mock测试

什么是mock测试 Mock 测试就是在测试活动中&#xff0c;对于某些不容易构造或者不容易获取的数据/场景&#xff0c;用一个Mock对象来创建以便测试的测试方法。 Mock测试常见场景 无法控制第三方系统接口的返回&#xff0c;返回的数据不满足要求依赖的接口还未开发完成&#…

[Redis]基础入门

Redis入门 一、初识Redis Redis是一种键值型的NoSql数据库。 其中键值型&#xff0c;是指Redis中存储的数据都是以key、value对的形式存储&#xff0c;而value的形式多种多样&#xff0c;可以是字符串、数值&#xff0c;甚至是json。 NoSql则是相对于传统关系型数据库而言&a…

【安卓12源码】WMS系列:addWindow 和 removeWindow流程

一、Window 的属性 Window的属性定义在WindowManager的内部类LayoutParams中&#xff0c;了解Window的属性能够更好的理解WMS的内部原理。Window的属性有很多种&#xff0c;与应用开发最密切的有三种&#xff0c;它们分别是Type(Window的类型)、Flag(Window的标志)和SoftInputM…

luceda ipkiss教程 39:修改版图text字体的粗细

通过修改font的line_width就可以修改版图中text字体的粗细&#xff1a; 代码如下&#xff1a; from si_fab import all as pdk import ipkiss3.all as i3class demo(i3.PCell):class Layout(i3.LayoutView):def _generate_elements(self, elems):elems i3.PolygonText(layer…