|
|
@ -11,7 +11,6 @@ description: 开发环境的一些说明
|
|
|
|
|
|
|
|
|
|
|
|
> 推荐 IntelliJ IDEA 社区版(开源免费)https://github.com/JetBrains/intellij-community
|
|
|
|
> 推荐 IntelliJ IDEA 社区版(开源免费)https://github.com/JetBrains/intellij-community
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`Halo` 项目使用了 `Lombok`,运行 `Halo` 之前请检查 `IDE` 是否已经安装好了 `Lombok` 插件。
|
|
|
|
`Halo` 项目使用了 `Lombok`,运行 `Halo` 之前请检查 `IDE` 是否已经安装好了 `Lombok` 插件。
|
|
|
|
|
|
|
|
|
|
|
|
如果使用的 `IDE` 是 `IntelliJ IDEA`,请在设置中启用 `Build, Execution, Deployment/Annotation Processors` 的 `Enable annotation processing`。
|
|
|
|
如果使用的 `IDE` 是 `IntelliJ IDEA`,请在设置中启用 `Build, Execution, Deployment/Annotation Processors` 的 `Enable annotation processing`。
|
|
|
@ -23,14 +22,10 @@ description: 开发环境的一些说明
|
|
|
|
如果你已经 `fork` 了 [`Halo`](https://github.com/halo-dev/halo),请将以下命令中的 `halo-dev` 替换为你的 `Github 用户名`。
|
|
|
|
如果你已经 `fork` 了 [`Halo`](https://github.com/halo-dev/halo),请将以下命令中的 `halo-dev` 替换为你的 `Github 用户名`。
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
git clone https://github.com/halo-dev/halo
|
|
|
|
git clone --recursive https://github.com/halo-dev/halo
|
|
|
|
|
|
|
|
|
|
|
|
// 如果你在 Github 上已经添加了你的 ssh key,请使用以下命令进行 clone:
|
|
|
|
// 如果你在 Github 上已经添加了你的 ssh key,请使用以下命令进行 clone:
|
|
|
|
git clone git@github.com:halo-dev/halo.git
|
|
|
|
git clone --recursive git@github.com:halo-dev/halo.git
|
|
|
|
|
|
|
|
|
|
|
|
git submodule init
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
git submodule update
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
这里推荐使用第二种方式进行克隆,这样每次提交代码的时候,就不会提示登录 `Github` 了。
|
|
|
|
这里推荐使用第二种方式进行克隆,这样每次提交代码的时候,就不会提示登录 `Github` 了。
|
|
|
@ -135,7 +130,6 @@ git submodule update
|
|
|
|
|
|
|
|
|
|
|
|
> 来源于 <https://zeroturnaround.com/software/jrebel/quickstart/intellij/enable-automatic-compilation-in-intellij-idea/>
|
|
|
|
> 来源于 <https://zeroturnaround.com/software/jrebel/quickstart/intellij/enable-automatic-compilation-in-intellij-idea/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Developer Tools 原理
|
|
|
|
Developer Tools 原理
|
|
|
|
|
|
|
|
|
|
|
|
在保存代码的时候,`IDE` 会自动为我们编译代码,`Developer Tools` 检测到代码的 `class 文件`(只能检测 `classpath` 下的 `class 文件`)的变更,会自动重启项目。注意,这里的重启速度会有质的提升,具体原因是 `Spring Boot` 提供的 `restart 技术`提供了两个 `classloaders`:`base classloader` 和 `restart classloader`。当项目重启的时候 `restart classloader` 将会被抛弃,并重启创建一个,这比 `code starts`(冷启动)快很多。当然,肯定是比不上 `JRebel` 采用的 `Reload 技术`。
|
|
|
|
在保存代码的时候,`IDE` 会自动为我们编译代码,`Developer Tools` 检测到代码的 `class 文件`(只能检测 `classpath` 下的 `class 文件`)的变更,会自动重启项目。注意,这里的重启速度会有质的提升,具体原因是 `Spring Boot` 提供的 `restart 技术`提供了两个 `classloaders`:`base classloader` 和 `restart classloader`。当项目重启的时候 `restart classloader` 将会被抛弃,并重启创建一个,这比 `code starts`(冷启动)快很多。当然,肯定是比不上 `JRebel` 采用的 `Reload 技术`。
|
|
|
|