IDEA基础

初始化配置

配置JDK

【Configure】->【Structure for New Projects】->【Project】

配置Maven

基础配置

【Configure】->【Settings】->【Build,Execution,Deployment】->【Build Tools】->【Maven】

配置项
Maven home directory D:/maven
User settings file D:.xml

配置自动下载源码和文档

【Configure】->【Settings】->【Build,Execution,Deployment】->【Build Tools】->【Maven】->【Importing】 勾选Automatically download:

  • Sources
  • Documentation

自动导入包

【IntelliJ IDEA】-> 【Perferences】-> 【Editor】-> 【General】-> 【Auto Import】

  • 【勾选】Add unambiguous imports on the fly
    自动帮我们优化导入的包,比如自动去掉一些没有用到的包。
  • 【勾选】Optimize imports on the fly(for current project) 自动帮我们导入需要用到的包。但是对于那些同名的包,还是需要手动 Alt + Enter 进行导入的。

多开

【Configure】->【Settings】->【Appearance & Behavior】->【System Settings】,选择【Open project in new window】。

快捷键

编辑

快捷键 作用
Alt + Enter 导入包
Control + Space 基本的代码补全(补全任何类、方法、变量)
Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型)
Command + Shift + Enter 自动结束代码,行末自动添加分号
Command + P 显示方法的参数信息
Control + J 快速查看文档
Shift + F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)
Command + 鼠标放在代码上 显示代码简要信息
Command + F1 在错误或警告处显示具体描述信息
Command + N, Control + Enter, Control + N 生成代码(getter、setter、hashCode、equals、toString、构造函数等)
Control + O 覆盖方法(重写父类方法)
Control + I 实现方法(实现接口中的方法)
Command + Option + T 包围代码(使用if...else、try...catch、for、synchronized等包围选中的代码)
Command + / 注释 / 取消注释与行注释
Command + Option + / 注释 / 取消注释与块注释
Option + 方向键上 连续选中代码块
Option + 方向键下 减少当前选中的代码块
Control + Shift + Q 显示上下文信息
Option + Enter 显示意向动作和快速修复代码
Command + Option + L 格式化代码
Control + Option + O 优化 import
Control + Option + I 自动缩进线
Tab / Shift + Tab 缩进代码 / 反缩进代码
Command + X 剪切当前行或选定的块到剪贴板
Command + C 复制当前行或选定的块到剪贴板
Command + V 从剪贴板粘贴
Command + Shift + V 从最近的缓冲区粘贴
Command + D 复制当前行或选定的块
Command + Delete 删除当前行或选定的块的行
Control + Shift + J 智能的将代码拼接成一行
Command + Enter 智能的拆分拼接的行
Shift + Enter 开始新的一行
Command + Shift + U 大小写切换
Command + Shift + ] / Command + Shift + [ 选择直到代码块结束 / 开始
Option + Fn + Delete 删除到单词的末尾
Option + Delete 删除到单词的开头
Command + 加号 / Command + 减号 展开 / 折叠代码块
Command + Shift + 加号 展开所以代码块
Command + Shift + 减号 折叠所有代码块
Command + W 关闭活动的编辑器选项卡

查询/替换

快捷键 作用
Double Shift 查询任何东西
Command + F 文件内查找
Command + G 查找模式下,向下查找
Command + Shift + G 查找模式下,向上查找
Command + R 文件内替换
Command + Shift + F 全局查找(根据路径)
Command + Shift + R 全局替换(根据路径)
Command + Shift + S 查询结构(Ultimate Edition 版专用,需要在 Keymap 中设置)
Command + Shift + M 替换结构(Ultimate Edition 版专用,需要在 Keymap 中设置)

使用查询

快捷键 作用
Option + F7 / Command + F7 在文件中查找用法 / 在类中查找用法
Command + Shift + F7 在文件中突出显示的用法
Command + Option + F7 显示用法

编译和运行

快捷键 作用
Command + F9 编译 Project
Command + Shift + F9 编译选择的文件、包或模块
Control + Option + R 弹出 Run 的可选择菜单
Control + Option + D 弹出 Debug 的可选择菜单
Control + R 运行
Control + D 调试
Control + Shift + R, Control + Shift + D 从编辑器运行上下文环境配置

调试

快捷键 作用
F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
Shift + F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8 跳出
Option + F9 运行到光标处,如果光标前有其他断点会进入到该断点
Option + F8 计算表达式(可以更改变量值使其生效)
Command + Option + R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上
Command + F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)
Command + Shift + F8 查看断点信息

导航

快捷键 作用
Command + O 查找类文件
Command + Shift + O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
Command + Option + O 前往指定的变量 / 方法
Control + 方向键左 / Control + 方向键右 左右切换打开的编辑 tab 页
F12 返回到前一个工具窗口
Esc 从工具窗口进入代码文件窗口
Shift + Esc 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
Command + Shift + F4 关闭活动 run/messages/find/... tab
Command + L 在当前文件跳转到某一行的指定处
Command + E 显示最近打开的文件记录列表
Option + 方向键左 / Option + 方向键右 光标跳转到当前单词 / 中文句的左 / 右侧开头位置
Command + Option + 方向键左 / Command + Option + 方向键右 退回 / 前进到上一个操作的地方
Command + Shift + Delete 跳转到最后一个编辑的地方
Option + F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的 Finder)
Command + B / Command + 鼠标点击 进入光标所在的方法/变量的接口或是定义处
Command + Option + B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
Option + Space, Command + Y 快速打开光标所在方法、类的定义
Control + Shift + B 跳转到类型声明处
Command + U 前往当前光标所在方法的父类的方法 / 接口定义
Control + 方向键下 / Control + 方向键上 当前光标跳转到当前文件的前一个 / 后一个方法名位置
Command + ] / Command + [ 移动光标到当前所在代码的花括号开始 / 结束位置
Command + F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
Control + H 显示当前类的层次结构
Command + Shift + H 显示方法层次结构
Control + Option + H 显示调用层次结构
F2 / Shift + F2 跳转到下一个 / 上一个突出错误或警告的位置
F4 / Command + 方向键下 编辑 / 查看代码源
Option + Home 显示到当前文件的导航条
F3 选中文件 / 文件夹 / 代码行,添加 / 取消书签
Option + F3 选中文件 / 文件夹/代码行,使用助记符添加 / 取消书签
Control + 0…Control + 9 定位到对应数值的书签位置
Command + F3 显示所有书签

重构

快捷键 作用
F5 复制文件到指定目录
F6 移动文件到指定目录
Command + Delete 在文件上为安全删除文件,弹出确认框
Shift + F6 重命名文件
Command + F6 更改签名
Command + Option + N 一致性
Command + Option + M 将选中的代码提取为方法
Command + Option + V 提取变量
Command + Option + F 提取字段
Command + Option + C 提取常量
Command + Option + P 提取参数

版本控制/本地历史记录

快捷键 作用
Command + K 提交代码到版本控制器
Command + T 从版本控制器更新代码
Option + Shift + C 查看最近的变更记录
Control + C 快速弹出版本控制器操作面板

动态代码模板

快捷键 作用
Command + Option + J 弹出模板选择窗口,将选定的代码使用动态模板包住
Command + J 插入自定义动态代码模板

通用

快捷键 作用
Command + 1…Command + 9 打开相应编号的工具窗口
Command + S 保存所有
Command + Option + Y 同步、刷新
Control + Command + F 切换全屏模式
Command + Shift + F12 切换最大化编辑器
Option + Shift + F 添加到收藏夹
Option + Shift + I 检查当前文件与当前的配置文件
Control + ` 快速切换当前的 scheme(切换主题、代码样式等)
Command + , 打开 IDEA 系统设置
Command + ; 打开项目结构对话框
Shift + Command + A 查找动作(可设置相关选项)
Control + Shift + Tab 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上 delete,则是关闭对应选中的窗口)

插件

主题插件

插件名称 说明
插件名称 说明
Solarized Theme 主题插件
Material Theme UI 这是一款主题插件,可以让你的ide的图标变漂亮,配色搭配的很到位,还可以切换不同的颜色,甚至可以自定义颜色。默认的配色就很漂亮了,如果需要修改配色,可以在工具栏中Tools->Material Theme然后修改配色等。
Background image Plus 这是一款可以设置idea背景图片的插件,不但可以设置固体的图片,还可以设置一段时间后随机变化背景图片,以及设置图片的透明度等等。
active-power-mode 这是一款让你在编码的时候,整个屏幕都为之颤抖的插件。
Nyan progress bar 这是一个将你idea中的所有的进度条都变成萌新动画的小插件。
CodeGlance 在编辑代码最右侧,显示一块代码小地图
Rainbow Brackets 彩虹括号。自动给代码块内花括号和括号加色,让视野更加注意在代码上。

Java开发插件

插件名称 说明
Lombok Plugin 开发神器,可以简化你的实体类,让你不再写get/set方法,还能快速的实现builder模式,以及链式调用方法,总之就是为了简化实体类而生的插件。
Maven Helper Maven插件,安装后可查看依赖以及冲突,一目了然。
GsonFormat 把json格式的内容转成Object
.ignore git提交时过滤掉不需要提交的文件,很方便,有些本地文件是不需要提交到Git上的。
RestfulToolkit Java WEB开发必备,再也不用全局搜索RequestMapping了。
例如:我要找到/book/add 对应的controller,那么只要cmd+\
GenerateSerialVersionUID Alt + Insert 生成serialVersionUID

部署插件

插件名称 说明
Cloud Toolkit 本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传和 MySQL 执行器等工具。

MyBatis插件

插件名称 说明
MyBatis Generator 代码自动生成插件。
codehelper.generator 可以根据POJO实体类,一键生成DAO接口,Mapper.xml文件,Service类,以及POJO 对应的SQL脚本(目前只支撑MySQL)。注意,该插件只会生成5个方法(insert,insertList,update,select,delete),当然在Mapper.xml中,sql语句都是使用动态SQL完成的,非常实用。
MyBatis Log Plugin 把mybatis输出的日志还原成完整的sql语句。
Mybatis PageHelper 分页插件。
基于Mybatis的QueryInterceptor机制,能动态拦截sql语句并根据对应的数据库类型加上分页语句,无需修改底层的SQL。
MyBatisCodeHelper 代码生成插件。
- 收费
Mybatis plugin - 可以在mapper接口中和mapper的xml文件中来回跳转,就像接口跳到实现类那样简单
- 收费版
mybatis-generator-plugins - 扩展mybatis-generator插件
- 高效率分页查询,自动添加swagger2注解到实体类
mybatis-generator-lombok-plugin 整合了lombok插件实现getter/setter等通用方法的自动生成,同时自定义实现了一个注释生成器, 通过抓取数据库表里面的注释作为实体类的注释内容
mybatis-dsc-generator - entity集成lombok
- 格式校验
- swagger
- dao自动加@Mapper
- service自动注释和依赖
- Controller实现restful 增删改查API,并集成swagger
经过测试没有任何效果,原因不明。
mybatis-generator-plus 一款与Idea无缝集成的好用的MyBatis生成器
mapper-plugin-plus mapper-plugin-plus Mapper插件扩展:
- 模型是否增加swagger注解 默认为否

代码规范插件

插件名称 说明
FindBugs-IDEA 帮助查找代码中隐藏的bug。
CheckStyle-IDEA 通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。
软件安装成功之后,首先要设置规则。可以通过Preferences—>Other Settings —>CheckStyles进行设置,可以直接将文件添加进来,然后就可以对具体的文件进行检查了。
Alibaba Java Coding Guidelines 阿里巴巴Java开发规约扫描插件。
CamelCase 将不是驼峰格式的名称,快速转成驼峰格式,安装好后,选中要修改的名称,按快捷键shift+alt+u。
String Manipulation 字符串格式风格快捷转换:大小写、驼峰、连接串等。
spring-javaformat

效率插件

插件名称 说明
Grep Console 自定义设置控制台输出颜色,这样控制台就能比较明显的看到警告或者错误的信息,方便查找问题。
JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署。收费的,破解比较麻烦。不过功能确实很强大。算是开发必备神器了。热部署快捷键是control+F9/command+F9。
Translation 翻译插件。安装后选中单词按下快捷键ALT+1即可。

性能优化插件

插件名称 说明
JProfiler 性能测试插件,同时需要安装JProfiler。

版本管理插件

插件名称 说明
Git Flow Integration Git Flow插件,与IDEA集成。

代码审计插件

插件名称 说明
Statistic 代码统计

Lua插件

插件名称 说明
EmmyLua EmmyLua 是一款基于 IntelliJ IDEA 的 Lua 插件,拥有强大的代码提示以及调试功能,开源免费。
Nginx Support -
OpenResty Lua Support -

插件使用

使用Lombok Plugin插件

配置pom.xml

1
2
3
4
5
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>

基本使用

生成Getter/Setter、equals、hashcode、toString方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.wanglibing.demo1;

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Setter
@Getter
@ToString
@EqualsAndHashCode
public class Student {
private String name;
private int age;
private String male;
private String studentNo;
}

生成构造方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@RequiredArgsConstructor(staticName="of")
public class Community {
private String communityId;
@NonNull
private String name;
@NonNull private String title;
private int type;
}
注解 作用
@AllArgsConstructor 指定全参数构造器
@NoArgsConstructor 指定无参数构造器
@RequiredArgsConstructor 指定参数(采用静态方法of访问)

未使用lombok之前的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Community {
private String communityId;
private String name;
private String title;
private int type;
public Community(String communityId, String name, String title, int type) {
this.communityId = communityId;
this.name = name;
this.title = title;
this.type = type;
}
public Community() {
}
public Community(String communityId, String name) {
this.communityId = communityId;
this.name = name;
}
}

使用@Data注解

@Data注解包含了@Getter@Setter@ToString@EqualsAndHashCode、RequiredArgsConstructor注解。

1
2
3
4
5
6
7
8
9
10
11
12
import lombok.*;

@AllArgsConstructor
@NoArgsConstructor
@Data(staticConstructor="of")
public class Community {
private String communityId;
@NonNull
private String name;
@NonNull private String title;
private int type;
}

Builder模式

有的时候,我们喜欢采用Builder模式去构造一个对象,比如如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class Community {
private String communityId;
private String name;
private String title;
private int type;
@java.beans.ConstructorProperties({"communityId", "name", "title", "type"})
Community(String communityId, String name, String title, int type) {
this.communityId = communityId;
this.name = name;
this.title = title;
this.type = type;
}
public static CommunityBuilder builder() {return new CommunityBuilder();}
public static class CommunityBuilder {
private String communityId;
private String name;
private String title;
private int type;
CommunityBuilder() {}
public Community.CommunityBuilder communityId(String communityId) {
this.communityId = communityId;
return this;
}
public Community.CommunityBuilder name(String name) {
this.name = name;
return this;
}
public Community.CommunityBuilder title(String title) {
this.title = title;
return this;
}
public Community.CommunityBuilder type(int type) {
this.type = type;
return this;
}
public Community build() {
return new Community(communityId, name, title, type);
}
public String toString() {
return "com.qunar.kris.share.misc.lombok.Community.CommunityBuilder(communityId=" + this.communityId
+ ", name="
+ this.name + ", title=" + this.title + ", type=" + this.type + ")";
}
}

}

然后我们可以这么使用:

1
2
3
4
5
6
7
8
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
Community community = Community.builder()
.communityId("zzz")
.name("xxx")
.title("yyy")
.type(1).build();
}

使用lombok:

1
2
3
4
5
6
7
8
9
import lombok.Builder;

@Builder
class Community {
private String communityId;
private String name;
private String title;
private int type;
}

异常处理

捕获全局异常,我们经常使用如下代码:

1
2
3
4
5
6
7
8
9
10
11
public void doMethod() {
try {
invokeMethodMayThrowExeption();
} catch(Exception e) {
if (e instanceof MyException) {
throw e;
} else {
//swallow it
}
}
}

使用lombok可以简化为:

1
2
3
4
@SneakyThrows(MyException.class)
public void doMethod() {
invokeMethodMayThrowExeption();
}

logger

如果我们要打日志,经常创建如下日志静态对象:

1
2
3
public class Community {
private static final Logger logger = LoggerFactory.getLogger("MY-LOGGER");
}

我们采用lombok简化一下:

1
2
3
@Slf4j(topic = "MY-LOGGER")
public class Community {
}

除了slf4j还支持如下Logger:

  • @XSlf4j
  • @Log4j
  • @Log4j2
  • @Log
  • @CommonsLog

空指针异常的快速失败

@NonNull:注解在方法参数上,提供对参数的校验,防止空指针异常。

1
2
public void doMethod(@NonNull String name, @NonNull String title) {
}

以上代码,当name或者title为空的时候,则会直接抛出NPE,快速失败。

其它

  • @Synchronized:注解在方法上,提供 synchronized,可以指定锁的名称;
  • @Cleanup:注解在局部变量上,提供对资源的关闭,即调用 close 方法;

使用GenerateSerialVersionUID插件

设置Inspections

【IntelliJ IDEA】-> 【Perferences】-> 【Inspections】-> 【Java】-> 【Serialization issues】-> 【勾选】Serializable class without 'serialVersionUID'-> 【Severity】中设置提示级别【Warning】。

创建类

创建一个类,实现Serializable接口。然后选中类,按 alt + Enter键,选择SerialVersionUID。

使用Maven Helper插件

打开pom.xml,在下方会出现【Dependency Analyzer】。

  • Conflicts
    查看冲突。
  • All Dependencies as List
    列表形式查看所有依赖。
  • All Dependencies as Tree
    树形式查看所有依赖。

使用GsonFormat插件

【Code】-> 【Generate】-> 【GsonFormat】

使用Grep Console插件

【IntelliJ IDEA】-> 【Perferences】-> 【Other Settings】-> 【Grep Console】

设置各级别颜色。 ## 使用Mybatis Generator插件

使用MyBatis Log Plugin插件

使用Alibaba Java Coding Guidelines插件

  • 项目 -> 【右键】-> 【编码规约扫描】
  • 项目 -> 【右键】-> 【打开实时监测功能】
  • 项目 -> 【右键】-> 【关闭实时监测功能】

使用codehelper.generator插件

配置POJO类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Setter
@Getter
@ToString
@EqualsAndHashCode
public class Student {
private Integer id;
private String name;
private int age;
private String male;
private String studentNo;
}

注意,在当前类中一定要有一个字段叫id,类型不限制。

配置codehelper.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#配置多个pojos,以 | 分隔
pojos=Student

#Sql文件的charset配置
charset=utf8

#mysql Engine
sqlEngine=InnoDB

#配置各个文件的路径
mapper.path=src/main/resources/mybatis/mappers
dao.path=src/main/java/com/wanglibing/dao
service.path=src/main/java/com/wanglibing/service
sql.path=src/main/resources/sql

### 配置各个java类型的sql关键字
int=NUMBER(12) NOT NULL DEFAULT -1
double=NUMBER(14,4) NOT NULL DEFAULT -1
java.lang.String=VARCHAR2(50) NOT NULL DEFAULT ''
java.lang.Integer=NUMBER(12) NOT NULL DEFAULT -1

生成

【Tools】-> 【CodeHelper】-> 【GenDaoCode】。

使用FindBugs插件

IDEA安装FindBugs

【IntelliJ IDEA】-> 【Perferences】-> 【Plugins】->【输入】“FindBugs”->【Install】。

使用FindBugs查找Bug

  • 模块上【右键】->【FindBugs】->【Analyze Module Files】
  • 项目上【右键】->【FindBugs】->【Analyze Project Files】
  • 文件上【右键】->【FindBugs】->【Analyze Selected File(s)】

错误类

Bad pratice编程的坏习惯

主要是命名问题,比如类名最好以大写开头,字符串不要使用等号不等号进行比较,可能会有异常最好用try-catch包裹的代码,方法有返回值但被忽略等等,这些如果不想改可以直接忽略。 #### Malicious code vulnerability 恶意代码漏洞 听起来很吓人呀,主要是一些属性直接使用public让别的类来获取,建议改为private并为其提供get/set方法。 还有一些public的静态字段,可能会被别的包获取之类的。 这些也需要根据项目具体情况来,个人意见,在有的不重要类,有时直接公开使用属性,可能更为便捷。如果你认为这些不需要修改,完全可以忽略。

Dodgy code 糟糕的代码

  • 比如一个double/float被强制转换成int/long可能会导致精度损失,一些接近零的浮点数会被直接截断,事实上我们应该保留。
  • 比如使用switch的时候没有提供default。
  • 多余的空检查,就是不可能为空的值,增加了不为空判断,这是没有必要的。属于代码冗余
  • 不安全的类型转换等等。
  • ......

performance 性能

主要是一些无用的代码,比如声明了没有用到的属性等等。

correctness 代码的正确性 这一项应该算是最重要的了

主要是没有对变量进行不为空判定,在特殊情况可能发生空指针异常。

使用Statistic插件

IDEA下方,【点击】Statistic选项卡。

常用功能

配置 Run Dashboard

  1. 点击【Run】 --> 【Edit Configurations】 添加 Spring Boot 类型的项目配置。
  2. 配置 Main Class。
  3. 点击【View】 --> 【Tool Windows】 --> 【Services】

查看哪里调用

方法1

【选中】方法名 -> 【右键】 ->【Find Useages】。 快捷键:alt+F7

方法2

【选中】方法名 -> 【Navigate】-> 【Call Hierarchy】 快捷键:control+alt+h。

alt+f7的结果是由大到小的层次,结果的树形结构是模块->包->类->方法->行 而ctrl+alt+h的搜索结果的结构是目标方法->调用目标方法的方法a->调用a的方法b……这样的结构。

创建项目

创建空项目

【Create New Project】-> 【Empty Project】

创建Spring Boot多模块项目

创建父工程

使用 Spring Initializr 来快速创建好一个Maven工程。然后删除无关的文件,只需保留pom.xml 文件。

创建子模块

依次创建子模块。

子模块继承父模块。

依次修改pom.xml,修改继承关系和依赖关系。

常见问题

文件查找功能失效

问题描述:由于断电、蓝屏引起的强制关机等情况,会导出IDEA文件查找功能失效,Enter file name窗口输入的文字显示红色,无法查出需要的文件。
解决办法: 可以点击File,选择Invalidate Caches/Restart,选择清除缓存并重启。

Unmapped Spring configuration files found

问题描述

每次打开IDEA,都会提示一个警告: 警告标题:“Spring Configuration Check” 警告内容:

1
“Unmapped Spring configuration files found.Disable...Please Configure/setup Spring facet for modules:...”

解决办法

【File】->【Project Structure...】->【Facets】->【点击】“+" ->【选择】Spring->【点击】module->【点击】OK按钮 ->【点击】“+" ->【选择】配置文件->【点击】OK按钮 -> 【重启】IDEA。

创建SpringBoot项目报错“artifact contains illegal characters”

Artifact项目标识错误,改成小写即可。

IDEA创建maven项目,一直loading archetype list

【IntelliJ IDEA】-> 【Perferences】-> 【Build,Execution,Deployment】-> 【Build Tools】-> 【Maven】-> 【Importing】-> 【设置】VM options for importer:-Xmx1024m

参考

坚持原创技术分享,您的支持将鼓励我继续创作!
0%