Mac搭建Java环境【环境搭建】

Mac搭建Java环境【环境搭建】

1 安装Java SDK

官网地址:https://www.oracle.com/java/technologies/downloads/archive/

下载dmg,双击之后无脑安装即可。

bash 复制代码
# 进入 JDK 安装目录
cd /Library/Java/JavaVirtualMachines

# 查看文件
ls

# 输入
cd ~

# 打开环境变量配置文件
vim .bash_profile

# 复制如下内容,JAVA_HOME 替换为自己目录
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

# 配置文件立即生效
source .bash_profile

# 查看 JAVA_HOME 目录
echo $JAVA_HOME

# 查看 JDK 版本信息
java -version

2 安装Maven

官网地址:https://maven.apache.org/download.cgi

  • 选择对应版本,下载bin.tar.gz
bash 复制代码
# 修改环境变量
vim .bash_profile

# 复制如下内容,MAVEN_HOME 替换为自己目录
export MAVEN_HOME=/Users/ziyi2/maven/apache-maven-3.9.0
export PATH=$MAVEN_HOME/bin:$PATH:.
# 配置文件立即生效
source .bash_profile

# 查看 MAVEN_HOME 目录
echo $MAVEN_HOME

# 创建maven仓库目录
mkdir -p $MAVEN_HOME/maven_repository/

# 查看 maven 版本信息
mvn -v

配置maven阿里云镜像加速:

bash 复制代码
# 进入maven的conf目录,在setting.xml中添加阿里云镜像仓库。
vim $MAVEN_HOME/conf/settings.xml

# 找到< mirrors >标签,在标签里添加:
# 配置阿里镜像加速
 <mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>       
 </mirror>

3 安装IDE

以IDEA为例。

官网地址:https://www.jetbrains.com/zh-cn/idea/download/other.html

下载之后,无脑双击安装即可。

完成之后,创建新项目,修改Maven配置到本地。

安装插件:

3.1 插件推荐

插件推荐:

  1. GenerateAllSetter
  2. Lombok
  3. HTTPClient
  4. Git、GitHub、Gitee、GitToolBox
  5. SpringBoot Initializr and Assistant
  6. Translation
  7. MybatisX
  8. JPA Buddy
  9. Alibaba Java Code Guidelines
  10. Raindow Brackets
  11. HighlightBracketPair
  12. Maven helper
  13. Database Tools and SQL
  14. Alibaba Java Coding Guidelines(编码规范)
  15. MyBatisCodeHelper(直接查看SQL)
  16. 通义灵码(AI)

3.2 常用快捷键

下面是windows对应快捷键,Mac版修改对应按键即可,如:

格式化:ctrl + alt +L=》command+option+L

【1】调用方法的时候,如果有明确的返回最值,我们用变量接收==》快捷键:Ctrl+Alt+V

【2】格式化==》ctrl + alt +L

【3】Alt + Insert 可根据自己的需要进行选择(包含构造器)==》多个方法可以用shift选择(点击首和尾)

【4】查看源码,选中,之后ctrl + B

【5】选中之后Alt + enter对异常进行处理

【6】ctrl + Y 删除当前行

【7】var => 快速生成结果

【8】alt(alt + shift + insert) =>批量编辑

【9】ctrl + shift + 减号(所有代码全部折叠)/ 加号(全部展开)

【10】ctrl + 减号/加号(光标所在位置的代码折叠/展开)

【11】ctrl + r替换

【12】ctrl+alt+T:surround with

【13】ctrl+G,输入行号:快速定位到某一行

【14】ctrl+alt+V,选中代码(str.length),快速生成变量

【15】ctrl+alt+M,选中代码,抽取方法

【16】ctrl+alt+左方向:快速回到上一次点击位置

3.3 tips

①鼠标滚动缩放代码

settins - editor - general - MouseControl(change font size...)

②文件模板

settings - file and code templates - Files(添加class模板)

class模板:

java 复制代码
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
 * @description TODO
 * @author zhouYi
 * @date ${DATE} ${TIME}
 * @version 
 */
public class ${NAME} {
}

interface模板:

java 复制代码
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")

/**
 * @description TODO
 * @author ${USER}
 * @date ${DATE} ${TIME}
 * @version 
 */
public interface ${NAME} {
}
③自动删除无用包
④开启自动生成UUID

设置之后,在实现了Serializable的类上,通过alt+enter(windows版,mac上更换对应按键即可)即可自动生成UID

⑤时间转换配置LocalDateTimeConfig类
java 复制代码
@Configuration
public class LocalDateTimeConfig {

    /*
     * 序列化内容
     *   LocalDateTime -> String
     * 服务端返回给客户端内容
     * */
    @Bean
    public LocalDateTimeSerializer localDateTimeSerializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    }

    /*
     * 反序列化内容
     *   String -> LocalDateTime
     * 客户端传入服务端数据
     * */
    @Bean
    public LocalDateTimeDeserializer localDateTimeDeserializer() {
        return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    }


    // 配置
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> {
            builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
            builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
        };
    }

}
相关推荐
pan_junbiao11 分钟前
Spring框架的设计模式
java·spring·设计模式
远方160912 分钟前
0x-2-Oracle Linux 9上安装JDK配置环境变量
java·linux·oracle
北执南念17 分钟前
CompletableFuture+线程池使用案列
java
黄交大彭于晏1 小时前
发送文件脚本源码版本
java·linux·windows
钮钴禄·爱因斯晨1 小时前
Java 面向对象进阶之多态:从概念到实践的深度解析
java·开发语言·数据结构
鸽子炖汤1 小时前
Java中==和equals的区别
java·开发语言·jvm
有个傻瓜1 小时前
PHP语言核心技术全景解析
开发语言·kubernetes·php
hstar95271 小时前
二、即时通讯系统设计经验
java·架构
菥菥爱嘻嘻1 小时前
JS手写代码篇---手写ajax
开发语言·javascript·ajax
江梦寻1 小时前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式