kj_villagemonitor_idea(SSH+vuejs)

一 快捷键

0 jf

编辑
序号快捷键盘功能
1Alt + 7        查看类的属性和方法
2shift + shift根据类名查找.java文件
3ctrl + shift + f根据字符串查找代码
4alt + enter + enter修改代码中的错误、引入相应的jar包
5ctrl + p        查看方法详情【光标在方法的()中】
6ctrl + h查看类的继承结构
7ctrl + alt + b跳转到接口方法的实现
8左右方向键展开和折叠项目目录
9    ctrl + z撤回
10ctrl + shift + z重做

1 dljd 

编辑
序号快捷键盘功能
1Alt+双击Enter抽取变量
1
Ctrl+/
用行注释注释/取消注释
2
Ctrl+Shift+/
用块注释注释/取消注释
3
Ctrl+Space(空格)

代码补全(任何类的名称,方法或变量)

代码提示(与系统输入法快捷键冲突)

4Ctrl+Enter导入包,自动修正
5Alt+Insert可以生成构造器、Getter、Setter等
6Ctrl+Alt+T可以把代码包在一个块内,例如:try/catch
7Ctrl+w依次选择递增的代码块,可以选择单词继而语句继而行继而函数
8Shift+Alt+Up/Down选中代码向上或者向下移动
9Ctrl+P可以显示参数信息
10
Ctrl+Alt+L
重新格式化代码
11Ctrl+Alt+I将选中的代码进行自动缩进编排,这个功能在编辑JSP文件时也可以工作
12Ctrl+C复制  光标所在  的行
13
Ctrl+D
复制  光标所在  行、块到下面
14
Ctrl+X
剪切  光标所在  
15
Ctrl+Y
删除  光标所在  
16Ctrl+Shift+C复制路径。如:D:\ideaProject\LOGIN\gx-radio-tv-test-center-portal\src\main\java\com\portal\action\PortalAction.java
17Ctrl+Alt+Shift+C复制引用,必须选择类名
18Alt+Q可以看到当前方法的声明
19Ctrl+Q显示注释文档
20Ctrl+Shift+Insert可以选择剪贴板内容并插入
21Shift+F1要打开编辑器光标字符处使用的类或方法  java   文档的浏览器
22
Ctrl+I
实现方法
23Ctrl+Enter上插一行
24Ctrl+"+/-"当前方法展开、折叠
25Ctrl+Shift+"+/-"全部展开、折叠
26Ctrl+Z撤消
27Ctrl+Shift+Z重做
导航
序号 快捷键功能
选中+右击+Find Usages查看这个方法调用的地方
1ctrl+h选中类、接口的继承与实现层次结构
1ctrl+p把光标放在方法的括号中,查看方法的参数(有几种)类型
1定位当前文件在项目中的位置
2Alt+7查看类的方法和属性
3Ctrl+Alt+B跳转到方法实现处
4Alt+F3逐个往下查找相同文本,并高亮显示
5Alt+F1查找代码所在位置
6Ctrl+H显示类结构图(类的继承层次)
7Ctrl+Shift+Alt+N查找类中的方法或变量
8Ctrl+N可以快速打开类
9Ctrl+Shift+N可以快速打开文件
10
Ctrl+E
弹出最近打开的文件
11Shift+Click可以关闭文件
12Ctrl+Shift+E最近更改的文件
13Ctrl+Alt+left/right返回至上次浏览的位置
14Alt+left/right切换代码视图
15Alt+Up/Down在方法间快速移动定位

搜索/替换
序号 快捷键功能
1Ctrl+Shift+F全局查找文本
2Ctrl+Shift+R

全局替换文本

在路径中替换

3Shift+F3向上查找,查找上一个
4F3向下查找,查找下一个
5
Ctrl+F
查找文本
6Ctrl+R替换文本
7Ctrl+Shift+S搜索结构
8Ctrl+Shift+M替换结构
9Alt+F7查找用法
10Ctrl+Alt+F7显示用法
11Ctrl+F7在文件中查找用法
12Ctrl+Shift+F7在文件中高亮显示用法
动态模板
序号 快捷键功能
1
Ctrl+J

查看更多自动代码(例如:serr)

如:psvm 、main方法

如:sout 、System.out.printl()

2
Ctrl+Alt+J
使用实时模板
重构
序号快捷键盘功能
1Ctrl+Alt+V

1、抽取局部变量

2、(抽取变量名)可以引入变量。例如new String();自动导入变量定义

2Ctrl+Alt+Shift+T弹出重构菜单
3Shift+F6重构 - 重命名
4F6移动
5F5复制
6Alt+Delete安全删除
7Ctrl+Alt+N内联
断点调试
序号快捷键盘功能
1Alt+F10定位到断点
2

Ctrl + Shift + F8

查看断点
3Ctrl+F8切换行断点
4Alt+F9运行至光标处
5Ctrl+Alt+F9强制运行至光标处
6F9恢复程序
7F8步过
8F7步入
9Shift + F8智能步过
10Shift + F7智能步入
11Alt+Shift+F8强制步过
12Alt+Shift+F7强制步入
编译运行
序号快捷键盘功能
1Ctrl+F2停止
2

Alt + Shift + F9

选择debug
3

Alt + Shift + F10

选择run
4

Ctrl + Shift + F9

编译选定的文件,包或模块
5

Ctrl + Shift + F10

运行
6Ctrl+F9

生成项目

使项目(编译修改和依赖)

7锤子注:极客时间:《零基础学java》:首先idea会自动帮我们编译。但如果我们不确定idea的自动编译功能是否成功,想强制编译的话,请使用锤子
一般
序号快捷键盘功能
1

Alt + #[0-9]

快速打开相应的工具窗口

2Alt+1快速打开或隐藏工程面板
3Alt+2收藏
4Alt+6TODO
5Ctrl+Shift+F12

隐藏/恢复所有窗口

最大化切换编辑器

6

Ctrl+F4

关闭

关闭当前活跃的编辑器选项卡

7Ctrl+Shift+F4

关闭活动选项卡    

关闭活动的运行/ messages / find /…选项卡

8Alt+7查看类中的所有方法和属性
9

Ctrl+Alt+Y

同步
10Ctrl+~

快速切换方案(界面外观、代码风格、快捷键映射等菜单):

 

11Shift+F12还原默认布局
12

Ctrl+Tab

在选项卡和工具窗口之间切换

转到下一个拆分器

13Ctrl+Shift+Tab转到上一个拆分器

1.IDEA的安装及破解
2.创建普通java工程
3.创建JavaWeb工程
4.配置Tomcat
5.设置项目字符集
6.设置自动提示不区分大小写
7.配置类的注释模版
8.使用maven创建java工程
9.使用maven创建web工程
10.设置默认maven及配置址默认本地仓库
11.创建maven父子工程(两种方式)
    a.普通父子工程
    b.设置空项目的父子工程
12.继承父工程的依赖
13.继承父工程的依赖的版本号
14.依赖的版本号管理
15.依赖的管理
16.修改工程的编译级别
17.添加约束文件

先install父工程,再install子工程

2 编辑 

编辑
序号快捷键盘功能
1
Ctrl+Space

代码补全(任何类的名称,方法或变量)

2
Ctrl+Shift+Space

智能代码完成(过滤列表按预期类型划分的方法和变量)

3
Ctrl+Shift+Enter

语句补全(补全当前语句)

当前语法补全:

if,do-while,try-catch,return(方法调用)等正确的语法构造(如:添加括号)

4
Ctrl+P
参数信息(在方法调用参数中)
5
Ctrl+Q
快速查找文档、查看Javadoc/详情
6
Shift+F1
外部文档
7
Ctrl+hover
显示简要信息
8
Ctrl+F1
在插入符号处显示错误或警告的描述
9
Alt+Insert

生成代码…(getter、setter,构造函数、hashCode / = toString)

10
Ctrl+O
方法覆盖
11
Ctrl+I
实现方法
12
Ctrl+Alt+T

围绕与…(如果. .,. .抓,同步等)

13
Ctrl+/
用行注释注释/取消注释
14
Ctrl+Shift+/
用块注释注释/取消注释
15
Ctrl+W
依次选择递增的代码块
16
Ctrl+Shift+W
减少当前选择到以前的状态
17
Alt+Q
上下文信息
18
Alt+Enter
显示意图、动作和快速修复
19
Ctrl+Alt+L
重新格式化代码
20
Ctrl+Alt+O
最优化导入所有须要的包
21
Ctrl+Alt+I
自动缩进线
22
Tab/Shift+Tab
缩进/ unindent选定的行
23
Ctrl+X
剪切
24
Ctrl+C
复制
25
Ctrl+V
粘贴
26
Ctrl+Shift+V
粘贴从最近的bu"ers…
27
Ctrl+D
复制当前行或选定块(到下一行去)
29
Ctrl+Y
删除一行代码
30
Ctrl+Shift+J
智能线连接
31
Ctrl+Enter
智能线分裂
32
Shift+Enter
另起一行\在当前插入符添加一行
33
Ctrl+Shift+U
切换插入字或选定块的大小写
34
Ctrl+Shift+]/[
选择直到代码块结束/开始
35
Ctrl+Delete/Backspace
删除到字结束/开始
36
Ctrl+NumPad+/-
展开/折叠代码块
37
Ctrl+Shift+NumPad+
全部展开;显示所有文件;扩展所有的
38
Ctrl+Shift+NumPad-
全部折叠
39
Ctrl+F4
关闭活跃编辑器选项卡
40Shift+Alt+Up/Down选中代码向上或者向下移动

3 搜索相关快捷键

搜索相关快捷键
序号 快捷键功能
1
Alt+F7/Ctrl+F7
查找类、变量、方法在工作区或工程中使用
2
Ctrl+Shift+F7
在文件中高领显示用法
3
Ctrl+Alt+F7
显示用法

4 导航

导航
序号 快捷键功能
1
Ctrl+N

类查找

快速打开文件/资源

打开类或者接口

(两个IDE都支持使用“驼峰字符”前缀的方式来过滤查找列表,进而轻松完成搜索;比如:可以使用“PoDI”来检索PodcastDaoImpl类)

2
Ctrl+Shift+N
文件查找
3
Ctrl+Alt+Shift+N
通过一个字符查找函数位置
4
Alt+Right/Left
进入下一个/上一个编辑器选项卡
5
F12
回到上一个工具窗口
6
Esc
转到编辑器(从工具窗口)
7
Shift+Esc
隐藏当前或上次活动的窗口
8
Ctrl+Shift+F4
关闭活动运行/ messages / find /…选项卡
9
Ctrl+G
跳转到第几行
10
Ctrl+E
弹出最近打开的文件
11
Ctrl+Alt+Left/Right
回退(撤消最后导航操作)
12
Ctrl+Shift+Backspace
导航到最后的编辑位置
13
Alt+F1
在任何视图中选择当前文件或符号
14
Ctrl+B , Ctrl+Click
打开声明
15
Ctrl+Alt+B
去实现
16
Ctrl+Shift+I
打开快速定义查找
17
Ctrl+Shift+B
跳转方法定义处
18
Ctrl+U
转到超方法/超类
19
Alt+Up/Down
转到previous / next方法
20
Ctrl+ ]/[
移动到代码块end/start
21
Ctrl+F12
文件结构弹出、当前文件快速定位弹出框(成员,方法)
22
Ctrl+H
类层次结构
23
Ctrl+Shift+H
方法的层次结构
24
Ctrl+Alt+H
调用层次结构
25
F2/Shift+F2
下一个/以前的错误突出显示
26
F4/Ctrl+Enter
编辑源/查看源
27
Alt+Home
显示导航栏
29
F11
切换书签
30
Ctrl+F11
切换书签与助记
31
Ctrl+#[0-9]
跳转到带编号的标记  或  到编号书签
32
Shift+F11
显示书签

 5 搜索/替换

搜索/替换
序号 快捷键功能
1
Double Shift
到处寻找、随处搜索
2
Ctrl+F
查找
3
F3/Shift+F3
查找下一个/查找上一个
4
Ctrl+R
代替
5
Ctrl+Shift+F

在工程或者工作区中查找文本

6
Ctrl+Shift+R
指定文件内代码批量替代

 6 动态模板

动态模板
序号 快捷键功能
1
Ctrl+Alt+J
使用实时模板
2
Ctrl+J
插入实时模板
3
iter
迭代根据Java SDK 1.5风格
4
inst

使用instanceof和检查对象类型低垂的它

5
itco
迭代java.util.Collection中的元素
6
itit
迭代java.util.Iterator的元素
7
itli
迭代java.util.List的元素
8
psf
常量
9
thr
把新

 7 重构

重构
序号 快捷键功能
1
F5
复制
2
F6
移动
3
Alt+Delete
安全删除
4
Shift+F6
重命名\快速打开文件/资源
5
Ctrl+F6
修改签名即修改函数名
6
Ctrl+Alt+N
内联
7
Ctrl+Alt+M
提取方法
8
Ctrl+Alt+V
提取的变量
9
Ctrl+Alt+F
提取字段
10
Ctrl+Alt+C
抽取常量、提取常数
11
Ctrl+Alt+P
提取参数

  8 断点调试

断点调试
序号 快捷键功能
1
F8/F7
跨过/进入
2
Shift+F7/Shift+F8
聪明的跨过/运行到下一个断点
3
Alt+F9
执行到光标所在位置
4
Alt+F8
评估表达
5
F9
重新开始程序
6
Ctrl+F8
切换断点
7
Ctrl+Shift+F8
查看断点

 9 编译和运行

编译和运行
序号 快捷键功能
1
Ctrl+F9
使项目(编译修改和依赖)
2
Ctrl+Shift+F9
编译选定的文件,包或模块
3
Alt+Shift+F10/F9
选择配置和运行/和调试
4
Shift+F10/F9
运行/调试
5
Ctrl+Shift+F10
从编辑器中运行上下文配置

 10 VCS/本地  历史

VCS/本地  历史
序号 快捷键功能
1
Ctrl+K / Ctrl+T
向VCS提交项目/从VCS提交更新
2
Alt+Shift+C
查看最新改变
3
Alt+BackQuote (`)
版本控制操作弹窗、弹出VCS操作界面

11 一般

一般
序号 快捷键功能
1
Alt+#[0-9]
快速打开相应的工具窗口
2
Ctrl+S
保存全部、保存文件/保存所有文件
3
Ctrl+Alt+Y
同步
4
Ctrl+Shift+F12
最大化切换编辑器
5
Alt+Shift+F
添加到收藏夹
6
Alt+Shift+I
用当前配置文件检查当前文件
7
Ctrl+BackQuote (`)
快速转换现有组合
8
Ctrl+Alt+S
打开设置对话框
9
Ctrl+Alt+Shift+S
打开项目结构对话框
10
Ctrl+Shift+A
Find Action
11
Ctrl+Tab
在选项卡和工具窗口之间切换

参考:

        IDEA(2020)工具详细使用文档 - 极地阳光-ing - 博客园 

二  编码相关

1 main方法:psvm 

2 System.out.println()语句:sout 

三  调试代码 

1 dubug窗口详解

(1) 常用功能 

  • 标注 1Show Execution Point,显示执行端点(Alt + F10);
  • 标注 2Step Over,跳到下一步(F8);
  • 标注 3Step Into,进入代码或者说进入到方法内部(F7);
  • 标注 4Force Step Into,强制进入代码或者说进入到方法内部(Alt + Shift + F7);
  • 标注 5Step Out,跳到下一个断点或者跳出方法(Shift + F8);
  • 标注 6Drop Frame,放弃当前 debug,重新执行 debug;
  • 标注 7Run to Cursor,运行到光标处(Alt + F9);
  • 标注 8Evaluate Expression,评估表达式;
  • 标注 9View Breakpoints,查看断点,展示更多高级设置;
  • 标注 10Mute Breakpoints,置灰所有断点,再次点击,恢复;
  • 标注 11Get thread dunp,获得当前的线程堆栈。

(2) 标注 9View Breakpoints,查看断点,展示更多高级设置

        如上述所示,都是一些常用的功能。其中,点击 标注 9 所示的View Breakpoints按钮,如下图所示:

  • 标注 1View Breakpoints,查看所有断点,展示更多高级设置;
  • 标注 2Java Line Breakpoints,展示项目中设置的所有断点;
  •               Java Exception Breakpoints针对java的异常行为而提供的断点跟踪机制
  •               Javasript Exception Breakpoints针对javaScript的异常行为而提供断点跟踪机制
  • 标注 3Conditions,设置条件断点;
  • 标注 4Remove once hit,设置击中一次断点后,取消该断点;
  • 标注 5Pass count,设置当循环若干次后,进入断点,常用于循环语句。
  • 标注6Log message to console,idea断点调试如何打印变量或表达式到控制台
  • 标注7Evaluate and log,Evaluate and log指会将evaluate的值打印到console上

(3) 标注 3Conditions,设置条件断点

        在上述的标注中,通过 标注 3 我们可以很方便的设置条件断点;通过 标注 4 我们可以设置一次性断点,不用我们每次手动的设置和取消断点;通过 标注 5 我们可以设置更加高级的断点击中条件。特别地,在Debug模式下,我们也可以双击鼠标右键,唤出常用的工具菜单,其效果如下图红框标记所示,提供了评估表达式、进入光标位置、强制进入光标位置和添加Watches等快捷按钮:

        当我们点击Evaluate Expression按钮之后,会弹出如下界面:

  • 标注 1Condition expression,待评估的表达式;
  • 标注 2Evaluate,评估按钮,点击后进行评估。

        此外,在评估表达式的时候,我们并不一定非得输入代码中的现有的表达式,可以按实际需要,自定义表达式,而且 IntelliJ IDEA 提供了代码提示功能,很方便。熟练的使用上述功能,可以有效的提高我们的调试效率,祝大家好运!

参考:

        详述 IntelliJ IDEA 之 Debug 篇_CG国斌的博客-CSDN博客

        如何在idea中创建和使用javaExeptionBreakpoint-百度经验 (baidu.com)

        IntelliJ IDEA debug 如何查看当前有哪些断点-百度经验 (baidu.com)

        条件断点: 

                如何使用intellij IDEA设置条件断点-百度经验 (baidu.com)

                https://jingyan.baidu.com/article/5225f26ba91ff1e6fa090812.html

                https://jingyan.baidu.com/article/86112f1393c70f27379787f8.html

                https://jingyan.baidu.com/article/e3c78d640d1aac7d4c85f58e.html

        异常断点:

                https://jingyan.baidu.com/article/455a99506ae86ea16727786c.html

2  断点的状态

 参考:

        IntelliJ IDEA断点类型_w3cschool

3 idea断点调试如何打印变量或表达式到控制台

参考:

        idea断点调试如何打印变量或表达式到控制台(百度经验)

 4 在 JavaScript 中的断点。(w3cschool.cn)

(1) chrome的JetBrains IDE Support插件 

参考: 

        在Chrome中调试JavaScript_w3cschool

        IDEA 调试前端代码JS 及安装JetBrains IDE Support - CJ点 - 博客园 

        Idea远程调试JavaScript - 简书   (本文以idea2017和谷歌浏览器为例. 并且静态web工程和动态web工程有些许差异, 看懂静态web的调试方法, 动态web基本看一眼就会了.

      IntelliJ IDEA 在Google Chrome上不能调试JavaScript错误处理,intellijchrome_WEB前端教程 | 登博教程

           链 接:https://pan.baidu.com/s/1Fs7A7I1oEGK2Rv8yHd8JXw
         提取码:w992

(2) Firefox远程调试功能

参考:

        在Firefox中调试JavaScript_w3cschool 

        IDEA调试javaScript - 依山慕雪 - 博客园 

(3) run->Editor Configuration -> + -> JavaScript Debug 

参考:

        IDEA中Debug调试VUE前端项目、调试JS | KL博客 

        IDEA Springboot项目调试Javascript代码 - 战鹏的Blog - OSCHINA - 中文开源技术交流社区

四 数据库相关

1 配置数据源、刷新数据源:Cannot resolve table

  • 表创建得不对
  • 没有刷新数据源

刷新数据源:

 参考:

        解决IDEA中Cannot resolve table * 的问题_南风入笙的博客-CSDN博客_cannot resolve table

        Intellij Idea 实体类报错 “Cannot resolve table XXX“(已解决)_律二萌萌哒的博客-CSDN博客 

五 项目相关

1 java项目

(1)  创建(dljd)

第一步:点击“Create New Project” ,新建一个项目:

第二步:设置jdk

第三步:不需要以模板来创建java项目

第四步:设置“项目名称”和“项目存储目录”

第五步:项目结构展示

在idea中:没有工作空间(eclipse有)的概念。

在idea中:一个窗口一个project,一个project一个窗口(eclipse一个窗口可以放多个项目)。

第六步:建包:右击“src” - new - package

 第七步:建类:右击“包” - new - java Class

 

第八步:运行MyTest.java的main方法输出hello idea

第九步:idea自动编译

第十步:控制台输出

第十一步:查看idea编译.java文件以后,生成的字节码文件存放的位置

2 web项目

(1) 创建(dljd)

第一步:File - New - Project 

第二步:设置项目类型、jdk、Java EE的版本、tomcat服务器、项目Fect、是否创建web.xml

第三步:设置“项目名称”和“项目存储路径” 

第四步:查看web项目的目录结构

 (2) 配置web服务器(如tomcat)(dljd)

第一步:Run - Edit Configurations...

第二步:点击“+”创建本地服务

        注意:这里一定要点击“+”,而不是在默认模板里修改。

 第三步:完成项目部署配置1:tomcat - server

 第三步:完成项目部署配置2:tomcat - Deployment

第四步:查看项目的部署、发布情况

首先:使用Run Configuration Type调出我们配置的Tomcat Server(包含我们部署的web项目)

其次:我们看一下部署、发布情况

第五步:如何调出services窗口

点击1次:收起所有窗口

点击2次:弹出所有窗口(在左、右、下栏)

快捷键:Alt+数字

(3) 你可能会问

1)导入:Eclipse java web项目 ,导入IntelliJ IDEA 完整操作!

参考:

        注:官网上有

        idea与eclipse项目相互导入的过程 - 乔克叔叔 - 博客园 (cnblogs.com)

         (64条消息) idea与eclipse项目相互导入方式_灵熙云工作室-CSDN博客_eclipse导入idea项目

         Eclipse java web项目 ,导入IntelliJ IDEA 完整操作!

        Intellij IDEA 导入 eclipse web 项目详细操作

2)web项目图片加载不出来解决方案

参考:

        IDEA中Javaweb项目图片加载不出来解决方案 - luwanglin - 博客园 (cnblogs.com)

3 maven-java项目 

(1) 使用maven创建java工程(dljd)

第一步:file - new - project - maven

第二步:选择相应的原型项目(通过原型项目来创建自己的Maven项目)

注意:如果你不选择模板(即把create from archetype去掉勾选),那idea默认使用的就是maven-java工程。这里我们为了演示,我们还是勾选它,然后一步步来。以后在开发过程中,大家可以不勾选create from archetype,idea就直接给你创建一个空的maven-java工程了。

 第三步:设置Maven项目的GAV坐标 

第四步:配置本地Maven:Maven_Home、settings.xml、本地仓库

第五步:查看idea创建maven-java项目的过程

第六步:整理maven项目的目录、pom内容,成最基本的结构完整的maven项目(有点区别于eclipse)

首先:修改pom.xml文件成最基本的样子:

 

 其次,构造maven完整的目录结构:

(2) compile、clean:maven-java项目(即编译mave-java项目)(dljd)

命令位置,双击使用:

 编译:maven-java项目:

 清除:maven-java项目:

(3) pom.xml中添加依赖,并查看(dljd)

idea的检索功能非常强大,体现1:

        Double Shift:检索任何东西

        Ctrl+Shift+N:文件检索

        Ctrl+E:打开最近编辑的文件

idea的检索功能非常强大,体现2:

        帮我们检索要添加依赖的名称(只需要敲”j")即可

        帮我们检索junit的版本,让我们可选

(4) 给 “类的方法” 添加junit测试方法 并 运行断言(dljd)

(5) test:maven-java项目(即给 “类的方法” 添加maven辅助测试方法 并 运行断言)(dljd)

(6) package、clean:maven-java项目(即打包maven-java项目)

命令位置,双击使用:

 打包:maven-java项目:

  清除:maven-java项目:

(7) install、clean:maven-java项目(即打包并发布maven-java项目)

命令位置,双击使用:

打包并发布:maven-java项目 

查看打包的效果:

查看发布的效果:

(8) 使用maven-java项目发布到本地maven仓库后的.jar包

第一步:新建一个maven-java项目

第二步:在pom.xml文件中,依赖我们打包并发布(install)maven-java项目,并生成到maven的本地仓库的.jar包

第三步:刷新项目(“右击项目” -》“maven”-》“reload project”)

第四步:使用这个.jar包中的类(即HelloMaven.java类),并运行

第五步:运行过程中,我们发现有红色报警的情况。那是因为编译级别的问题:现在我们用的jdk是1.8版本的,而我们用的编译级别是1.5的,所以才会出现红色报警的情况(如下图所示)。因此我们要  “修改工程的编译级别”  :

4 maven-web项目

(1) 使用maven创建web工程(dljd)

第一步:file - new - project

第二步:选择  “原型项目”

第三步:设置maven-web项目的GAV

第四步: 设置本地maven,和运行时属性 

 

第五步:(旧版本idea中)选择“自动导入”

第六步:修改pom.xml(因为,我们想得到最原始的和maven官网的maven-web项目一样的maven-web项目,但根据原型项目创建出来的maven-web项目的pom.xml文件会多出很多内容)。

原型项目生成的pom.xml文件:

 修改过后的pom.xml文件(干掉多余内容):

第七步:完善maven-web项目的目录不结构,并mark directory as...(旧版本中)

第八步:来看完整的maven-web工程 

第九步:还是得修改maven-web项目的编译级别

第十步:修改web.xml文件 

修改web.xml(可以去jave-web项目那里拷贝): 

第十一步:查看完整的mave-web工程:

(2) 基操 - 同maven-java(dljd)

(3) tomcat-同Web-但-5强调(dljd)

强调1:

强调2:

强调3:新版idea的 “services” 相当于旧版idea的 “application server”

强制4:运行方式 

 强制5:查看运行结果 

5 创建maven父子工程(两种方式-1:普通父子工程)(dljd)

(1) 理论知识

1) maven的pom.xml是可以被继承的,可以运用此机制创建多模块(父子工程)的项目

        maven的pom.xml可以被继承,那么idea集成maven如何实现多模块(父子工程)管理呢?

        这里有几个问题要解决:

  1. idea中一个窗口一个project,多模块(父子工程)时,以现在的认知来说只能开多个窗口进行开发了。这显然跟我们使用eclipse开发多模块(父子工程)时,可以在一个project窗口完成的习惯已经完全不一样。
  2. idea可以继承的关系来实现,一个窗口开发多模块(父子工程),那么如何实现呢?怎么用呢?请看下面父子工程的创建方式(project + 多个module):    

2) 如果想把一个maven工程(maven-java/maven-web)用做父工程,那么要做如下几个操作:

        首先,此工程(父工程)必须要把src目录给删除掉,只保留一个pom.xml文件。也就是说父工程的标志是,在maven根目录下面只能一个pom.xml文件。

        其次,此工程(父工程)的pom.xml文件的打包方式必须:<packaging>pom</packaging>。

3) 子工程(module)创建相关知识

        首先,file - new - module,接下来就跟我们创建mave-project的步骤一模一样了,只是身份从project变成了module。

4) 父子工程之间的关系解析

        首先,子工程的pom.xml文件继承了父工程的pom.xml文件。

        其次,子工程(项目)继承了父工程pom.xml中的所有东西

  1. 比如说,父工程中添加一个依赖,那么所有的子工程都自动添加这个依赖。
  2. 比如说,修改父工程的编译级别,那么子工程的编译级别也会改成一样的编译级别。也就是说,子工程会无条件地继承父工程配置的插件信息。    

        接着,某一个子工程下面还可以有子工程,那么这个子工程自动变成了父工程,而它父工程就变成了爷爷工程了。

        最后,要说的是一般我们只会写两个,即父子工程就可以了,不会写到孙工程。

        还有,我们创建父子工程的目的很明确,就是让父工程管理子工程吧。

5) 优缺点分析

优点:

  1. 这种方式在工作中也很常见。
  2. 可用于maven多模块管理(父子),实现父工程管理子工程,子工程继承父工程的依赖和插件。

缺点:

  1. 只能创建maven工程,其它什么普通java、普通web、springboot等都不能创建。
  2. 因为父工程和所有的子工程都有关系,但我想创建一个没有关系的工程(比如普通的java/普通的web)呢?这时候这种模式它不不行了,因为这种父子工程只能是创建maven项目吧。
  3. 我们还想像eclipse一样,所有的项目都是并排的、平行的,没有打开谁然后才能看到谁的情况。

解决方案:

        idea提供了第二种创建父子工程的方式,叫做free stylle的方式,也就是 “创建maven父子工程(两种方式 —— 设置空项目的父子工程)”

(2) mave-java:创建父子工程

父工程

第一步:创建parent工程(maven-java)

第二步:重构parent工程的项目结构:删除src目录,只保留一个pom.xml文件

第三步:重构parent工程的项目结构:pom.xml必须<packaging>pom</packaging>

第四步:创建好,来查看完整的parent工程

添加子工程 1:maven-java类型的项目

第一步:file - new - module

第二步:创建mave-java子工程(module)

第三步:设置父子工程的关系

第四步:设置maven(同父工程) 

 第五步:查看新建的父子工程创建与编译情况

 第六步:整理子工程的pom.xml文件

 第七步:整理子工程的目录结构,并mark directory as...

第八步:查看完整的父子工程项目(注意pom.xml文件的变化)

        添加子工程 2:maven-web类型的项目

第一步:file - new -module

第二步:选择创建maven-web的原型项目

第三步: 设置父子项目关系

 第四步:配置本地maven仓库

第五步:修改pom.xml成最基本的如maven官网demo中的pom.xml文件 

 第六步:完善子工程maven-web项目的项目结构(注意mark directory

 第七步:回看父工程的pom.xml文件

第八步:看看完整的项目

(3) maven-web:父子:同maven-java

(4) 父子工程操作

1) 父工程pom.xml中添加依赖,多个子工程都继承(自动添加)此依赖

2) 修改父工程的编译级别,多个子工程都继承(自动配置)此编译级别

(5) 先install父工程,再install子工程                    

6 创建maven父子工程(两种方式-2:设置空项目的父子工程 - free style)(dljd)

(1) 理论知识

1) 优缺点分析

优点:

  1. 可用于maven多模块管理(父子),实现父工程管理子工程,子工程继承父工程的依赖和插件。
  2. 这种模式是我们开发中比较常用的模式,也是我们比较习惯用的一种方式(特别是从eclipse转过来的同学)。项目并排,这样看起来更好一点。
  3. 某一个父工程(父)下的子工程(子)下面还可以有子工程(孙),子子孙孙无穷匮也,这就是核心free style。
  4. free style,也就是说idea所支持的所有项目类型你都可以在空项目下创建。包括以后学习了springboot以后,我们也可以创建springboot项目。区别于第一种方式,我们只能创建maven,不能创建普通java工程、不能创建普通web工程、不能创建springboot工程。

缺点:

(2) 创建父子工程(只有maven工程版本)

创建空项目

第一步:file - new - project -Empty project(即我们要创建一个空项目,没有任何模块)

第二步:设置项目名称,项目根目录 

第三步:它直接弹出要去我们构建这个空项目的项目结构,这里我们先不去构建

在空项目下创建父工程:maven-java

第一步:file - new - module(还是那句话,idea中一个project一个窗口,所以只能创建module了)

第二步: 设置父工程的GAV坐标

 第三步:查看新建出来的父工程

第四步:修改父工程的项目结构(把src目录删除)、pom.xml文件(打包方式必须设置为pom)

在父工程下创建子工程1:maven-java

第一步:file - new - module

第二步:创建mave-java module(因为这种maven的父子模块关系的项目中,父工程、子工程都只能创建成maven项目)

第三步:设置父子工程的关系(注意 注意 注意,区别于第一种方式:子工程的根目录直接放在空项目的根目录下了,并不是放在父工程的项目根目录下。

第四步:配置maven(已记忆)

第五步:新建子工程后的效果,两个项目(父子工程)现在并排的、并行的吧,像eclipse一样了吧:

第六步:修改子工程的目录结构(mark direcotry as)、pom.xml

第七步:注意注意注意,修改父工程的pom.xml文件,去掉<modules></modules>标签

第八步:首先,点击“maven小窗口 ”的“Reload All Maven Projects ” ,此时maven project list(maven项目列表)子工程会被删除。其次,在弹出的对话框中选择no。最后,“右击工程的pom.xml”文件选择“Add as Maven Project”,此时maven project list(maven项目列表)会再次出现子工程。

首先:

其次:

 最后:

 第九步:查看完整的父子工程

父亲生了一个儿子,长大后儿子在大城市买房了,父亲就不能天天看到他了。但父亲仍然是儿子的父亲,这永远都不会变。

 在父工程下创建子工程2:maven-web

第一步:file - new - module

第二步:选择创建此maven-web工程的原型项目

 第三步:设置父子工程关系

 第四步:设置maven本地仓库,已记忆

第五步:新建子工程后的效果,两个项目(父子工程)现在并排的、并行的吧,像eclipse一样了吧:

第六步:修改子工程的目录结构(mark direcotry as)、pom.xml

第七步:注意注意注意,修改父工程的pom.xml文件,去掉<modules></modules>标签

 第八步:首先,点击“maven小窗口 ”的“Reload All Maven Projects ” ,此时maven project list(maven项目列表)子工程会被删除。其次,在弹出的对话框中选择no。最后,“右击工程的pom.xml”文件选择“Add as Maven Project”,此时maven project list(maven项目列表)会再次出现子工程。

首先:

其次:

 最后:

 第九步:查看完整的父子工程

父亲生了一个儿子,长大后儿子在大城市买房了,父亲就不能天天看到他了。但父亲仍然是儿子的父亲,这永远都不会变。

(3) 完全free style(java、web、mave java、maven web),即你创建什么样的项目都行,不局限于上面这种mave父子模块项目

第一步:创建空项目(project)

 第二步:创建普通java工程(module)

第三步:创建普通java-web(module)

第四步:创建maven-java工程

 

第五步:创建maven-web工程

第六步:父子maven工程

父工程maven-java:删除src、pom.xml的打包方式为:<packaging>pom</packaging>

子工程maven-java:

        首先,修改pom.xml、完善项目结构并mark direcotry as...

        其次,点击“maven小窗口 ”的“Reload All Maven Projects ” ,此时maven project list(maven项目列表)子工程会被删除。

        接着,在弹出的对话框中选择no。

        最后,“右击工程的pom.xml”文件选择“Add as Maven Project”,此时maven project list(maven项目列表)会再次出现子工程。

 

(4) 先install父工程,再install子工程

7 IDEA集成Maven_多模块管理(dljd)

(1) 理论知识

  1. maven多模块管理(父子),实现父工程管理子工程,子工程继承父工程的依赖和插件。

(2) 子工程无条件继承父工程的插件信息,如编译插件1.5~1.8

 (3) 子工程无条件继承父工程的依赖

优点:

  1. 也就是说,以后我们去做项目所有的那些依赖都应该交给父工程来管理,包括后面学到的springboot项目也是一样的。

缺点: 

  1. 假设子工程1只依赖a、b两个包,子工程2只依赖b、c两个包,如果把所有的包都放到父工程中的话,那么由于继承关系子工程1多依赖了c包,那么子工程2多依赖了a包。虽然说不影响运行,但是在打包项目时子工程1中冗余了c包,子工程2中也冗余了a包吧。而我们使用js文件的时候,通常会使用压缩版,因为在发布到生产时是远程连接上传发布过去的。说明我们对打包之后的war包大小很敏感,就是因为网络速度的问题。但现在子工程1和子工程2冗余了一个jar包,冗余的jar包根本就没用吧,这是一个大问题吧。

解决方案:

  1. 依赖冗余的问题,还是父工程帮我们管理。

(4) (父工程)依赖的管理

第一步:父工程的pom.xml文件中添加依赖管理标签<dependencyManagement>,导致所有子工程的都不能继承父工程的依赖了。这时候父工程把所有的依赖都管理起来了,这时候相当于父工程把依赖权限收起来了,2个子工程不能再无条件地继承了。

 

情况1:使用父工程依赖的版本号:子工程要使用父工程中的某个依赖,要在其pom.xml中声明使用的哪个依赖。注意注意注意,这时少了版本号,因为子模块的继承了父工程依赖的版本号。

情况2:使用子工程自己的版本号(就近原则):如果子工程指定了依赖的version(覆盖掉继承自父工程的版本号),那么子工程的依赖就是使用子工程自己指定的这个版本号。

 

(5) (父工程)依赖的版本号管理

(6) 先install父工程,再install子工程

(7) 新建module没有 Add as module to选项

参考:

        我的idea2019.3新建module没有 Add as module to选项

8 eclipse集成maven多模块管理(dljd)

(1) 创建具有父子关系的maven项目

配置maven

第一步:安装maven、配置环境变量

第二步:eclipse集成maven插件

 第三步:命令行(cmd)执行mvn archetype:generate命令,生成archetype完成

参考:

        eclipse新建maven项目Archetype没有显示

        maven新建项目select an Archetype空白解决方法

创建父工程(maven-java 或 maven-web 都可以 无所谓,我们用maven-java演示)

第一步:File - New - Project -Maven - Maven Project

 如何通过Eclipse创建maven项目-百度经验 (各输入框的作用)

第二步:下一步(因为我们要使用原型项目创建maven项目)

第三步:选择原型项目创建maven-java工程

第四步:查看新建的maven-parent工程

第五步:删除src目录(maven项目要做为一个父工程,跟使用哪款工具没关系啊,所以同idea)

 

第六步:修改pom.xml文件,注意<packaging>pom</packaging>。(maven项目要做为一个父工程,跟使用哪款工具没关系啊,所以同idea)

第七步:删除target目录(maven项目要做为一个父工程,跟使用哪款工具没关系啊,所以同idea)

第八步:去掉红色叉

参考:

        Description Resource Path Location Type Project configuration is not up-to-d

第九步:查看完整的父工程(maven-java)

创建子工程:maven-java

第一步:File - New - Project -Maven - Maven Module

 第二步:设置项目名称、指定父工程

第三步:选择用于创建些子工程的原型项目

第四步:设置子工程的GAV坐标 

 第五步:查看新建的子工程(maven-java)

第六步:查看完整的父子工程(完善目录结构、修改pom.xml文件)

创建子工程:maven-web

 第一步:File - New - Project -Maven - Maven Module

 第二步:设置项目名称、指定父工程

 第三步:选择用于创建些子工程的原型项目

 第四步:设置子工程的GAV坐标 

  第五步:查看新建的子工程(maven-java)

第六步:查看完整的父子工程(完善目录结构、修改pom.xml文件、删除多余jsp和java类)

 

(2) 子工程无条件继承父工程的插件信息(演示:编译插件)

 每个项目的编译级别都是1.8了:

 (3) 子工程无条件继承父工程的依赖

 

 每个项目都继承了父工程的依赖:

(4) (父工程)依赖的管理

第一步:父工程的pom.xml文件中添加依赖管理标签<dependencyManagement>,导致所有子工程的都不能继承父工程的依赖了。这时候父工程把所有的依赖都管理起来了,这时候相当于父工程把依赖权限收起来了,2个子工程不能再无条件地继承了。

 

情况1:使用父工程依赖的版本号(即不用写版本号):子工程要使用父工程中的某个依赖,要在其pom.xml中声明使用的哪个依赖。注意注意注意,这时少了版本号,因为子模块的继承了父工程依赖的版本号。

 情况2:使用子工程自己的版本号(就近原则):如果子工程指定了依赖的version(覆盖掉继承自父工程的版本号),那么子工程的依赖就是使用子工程自己指定的这个版本号。

(5) (父工程)依赖的版本号管理

父工程管理版本号:

 子工程继承版本号:

(6) 先install父工程,再install子工程

9 maven项目(网页)

(1) 导入maven项目(从eclipse到idea)

参考:

        Eclipse开发的maven项目,导入Idea

        idea与eclipse项目相互导入的过程

        idea与eclipse项目相互导入方式

        IDEA导入eclipse里maven的web项目

        在idea中导入来自eclipse的maven项目(删除eclipse相关无用文件)

        将eclipse的maven项目导入到intellij idea中 (删除其他文件只留下src文件和pom.xml文件)

        如何把eclipse的maven项目导入idea并且完整运行(如果你的有一些jar包不是用maven管理的,而是手动添加的,则需要该步骤) 

(2) 导入maven项目(从idea到idea)

参考:

        IDEA导入Maven项目-百度经验 (baidu.com)

(3) Maven使用包查找依赖方法

参考:

        Maven使用包查找依赖方法

        创建项目,通过mavenrepository.com 找jar 包的映射关系 , 并且添加映射关系

(4) 配置maven项目(结构、包、jdk、tomcat、发布)

1) 项目结构

参考:

        IDEA的maven项目结构目录的含义

        IDEA创建Maven web项目(项目结构组织、文件编译及运行明细)

        IDEA创建Maven web项目(项目结构组织、文件编译及运行明细)

        详解使用IntelliJ IDEA 配置Maven(入门)

        解决 idea 创建maven和maven web项目 目录结构不完整问题_哔哩哔哩_bilibili

2) 包:pom.xml中添加依赖    

参考:

        项目管理工具 maven(4) ---- 依赖管理-添加依赖、在阿里云的Maven库中找jar包

        如何在maven repository寻找jar包并导入Eclipse

        创建项目,通过mavenrepository.com 找jar 包的映射关系 , 并且添加映射关系

3) 包:添加外部jar

参考:

        IntelliJ IDEA java项目中添加jar包

4) jdk

参考:

        IDEA2019配置创建maven的webapp项目-JDK配置-tomcat配置

5) tomcat

参考:

        IDEA2019配置创建maven的webapp项目-JDK配置-tomcat配置

(5) 编译

参考:

        IntelliJ IDEA如何手动编译项目

        idea如何重新编译项目    

【Intellij IDEA】16-编译器设置(IDEA 默认在运行项目之前先进行Build操作。定位Run>Edit Configgurations)

(6) 运行(tomcat)

参考:

         IDEA创建Maven项目及部署发布

        Intellij IDEA配置Tomcat发布项目

(7) 打包

1)  jar包与war包的区别与联系

参考:

        JAR(计算机文件格式)_百度百科

        jar包和war包的区别

        jar包和war包区别及理解

        JAVA jar 和 war 包的区别 - 清风拂袖间 - 博客园

2) 静态jar与可执行jar的区别

参考:

        可执行 jar 和普通 jar 区别

        如何打jar包(静态jar包和可执行jar包)

3) idea中war与war:exploded的打包方式的区别

参考:

        IDEA中 war 与 war exploded 的区别_书香水墨-CSDN博客

        Tomcat部署时war和war exploded区别以及平时踩得坑_徐刘根的博客-CSDN博客

        Idea中配置多个war同一个tomcat端口

4) maven web project打包为war包,目录结构的变化

参考:

        maven web project打包为war包,目录结构的变化 - xiaoheike - 博客园

        Maven项目编译后文件目录结构_扶公瑾以苏的博客-CSDN博客

5) Springboot项目,MAVEN打成jar包后的目录结构

参考:

        Springboot项目,MAVEN打包后的目录结构

6) Maven项目的打包方式

  1. Idea自身打包方式
  2. maven打包方式
    1. maven-jar-plugins 无依赖第三方jar的打包
    2. maven-assembly-plugins 解决依赖第三方jar包,并可执行jar的打包
    3. maven-assembly-plugins zip打包
    4. maven-shade-plugin 打包
  3. 其他插件
    1. maven-surefire-plugin

参考:

        IntelliJ IDEA自身以及maven项目打包方式(单模块) - 牧梦者 - 博客园

        idea如何打包maven项目成jar文件

        maven打包的几种形式_bobozai86的博客-CSDN博客_maven打包的几种方式

        Maven项目打包为jar的几种方式 - 那啥快看 - 博客园

 (8) 部署(云服务器???)

 参考:

        使用IDEA和Maven创建JavaWeb项目并部署Tomcat服务

        (如果没有Artifacts选项,则创建一个Artifacts)

        (解决项目部署到Tomcat运行时提示jar包找不到问题)

        【Intellij Idea】 部署Maven项目到Tomcat的方式_吃货小跟班的博客-CSDN博客

        IDEA Maven项目检出与部署(一次包过篇)_古道西风-CSDN博客

        IDEA创建Maven项目及部署发布((main目录下没有java源文件夹 教大家怎么创建这个java源文件夹))

         IDEA中打包Web项目(包含普通项目和Maven项目)并部署到云服务器——详细篇(部署到云服务器)

(9) 发布

(10) 你可能会问

1)修改maven项目的名字如何彻底改

Intellij IDEA中修改Maven项目的项目名称

最后,file – project structure:

2) idea如何恢复maven项目的项目设置项(project structure:project、modules、libraries、facets、artifacts)?
        项目-右击-reload project

3) 报错:配置文件没有引入进来 

参考:

        IDEA中的clean,清除项目缓存图文教程

4) IDEA 导入maven项目,显示:nothing to show

参考:

        IDEA 导入maven项目,显示:nothing to show - 裸奔的太阳 - 博客园

5) web项目图片加载不出来解决方案

参考:

        IDEA中Javaweb项目图片加载不出来解决方案 - luwanglin - 博客园

(11) 其它资源

        Maven 教程 | 菜鸟教程

六 插件相关

1 jdk

 (1) 设置jdk(dljd)

参考:

        IntelliJ IDEA 之 配置JDK 的 4种方式

2 tomcat

(1) 配置tomcat应用服务器(dljd)

        五 项目相关 -> 2 web项目(dljd)  ->  (2) 配置web服务器(如tomcat)(dljd)

(2) tomcat(不)编译、部署、发布的区别与联系

  1)下载Apache tomcat 压缩包:

        前往Apache tomcat 官网下载, 直接下载Core下面的就好了, 我是直接下载zip的

  2)tomcat会编译项目吗?
        答:不会。是IDE(如eclipe、idea)编译的,更准确来讲是IDE使用配置的好jdk的java虚拟机(jvm)帮我们编译项目的。IntelliJ IDEA 默认在运行项目之前先进行Build操作。定位Run>Edit Configgurations。如下图:从idea的tomcat配置可以看出来:

        Before launch的意思就是启动tomcat之前,而Before launch:Build ‘mssh1:war’ artiface的意思,就是在tomcat启动之前idea要(自动,使用jvm)对mssh1项目进行编译。
        那么,定位到Build、Execution、Deployment > Complie页面,我们再一起看看 IntelliJ IDEA 编译器的设置和选择:
标注 1:设置自动编译项目。
标注 2:设置编译时heap大小。默认为 700,如果使用 64 位的机器,在内存足够的情况下,可以尝试修改为 1500 或以上,此外,如果我们在编译的时候报出OutOfMemoryError的错误,也可以来修改(减小)这个参数;
标注 3:设置编译时的虚拟机(VM)参数。这个可以根据需求进行个性化设置,一般情况下,默认就可以。
        创建工程后无法启动浏览器运行,也是没有在tomcat启动之前idea要(自动,使用jvm)对mssh1项目进行编译。这时我们要,选择菜单”Run”-->Edit Configurations-->界面下方,“Before launch:BuildArtifacts(4), Build,Build Project,Activate tool window”下方的“+”,选择“Build Artifacts”勾取工程名、工程名 exploded,然后按“ok”即可。

  3)部署是什么?

        什么是部署?其实就是把开发完的代码放在tomcat中,如果使用的是记事本开发,就直接拷贝到webapps下。
        如果使用的是IDE开发,则需要把tomcat集成到IDE中,并配置代码的映射路径。如在eclipse中直接右键tomcat--->Add and Remove... 

        如果发现不能把左边的项目添加到右边,并提示错误。则检查servelt的版本。通常是由于servlet与tomcat版本不一致导致,举个例子,tomcat6 仅支持2.5之前的servlet版本,以及1.5之后的JDK版本。版本关系参考: 

   4)发布是什么?

        发布就是把应用中的代码进行编译和组织(部署)后,启动tomcat使用户可以直接访问。就像生产汽车一样,tomcat负责把各个零件进行组装(把代码进行编译组织),最后直接把一个可以运行的车子(可访问的应用)摆在用户面前。
发布方法:

  1. 直接在tomcat中运行:运行startup.bat或者startup.sh文件。运行方法参考:tomcat启动
  2. 在IDE中启动:如在eclipse中,我们可以在server视图中右键tomcat选择start或者直接点击右上角的DEBUG或者START图标: 

测试
     执行发布后,就可以登录浏览器,输入:http://localhost:8080/[webapp名字] 访问应用了。localhost为主机名:也可以使用 本地地址127.0.0.1,或者本地IP地址[可以同ipconfig /all查询]。其中8080是端口号,可以通过server.xml或者IDE中配置界面修改。也可以在IDE中直接双击server视图中的tomcat选项,在弹出的配置界面,修改端口号,记得保存。如下文档中也给出了线程池和SSL的配置方式。

 

   5)部署与发布的关系是什么?
       部署:编译好的项目(如war)放到tomcat的webapp下;
                  或者,配置conf/server.xml;
                  或者,apache-tomcat-7.0.52\conf\Catalina\localhost\xxx.xml;
       发布:即启动tomcat(胡留洋:发布是对外的,你要让别人可以通过浏览器访问你的项目)

   6)部署项目(不考虑tomcat端口被占用的情况)

         A)tomcat的目录结构:

                 

        B)war包(即编译好的项目)解压的目录结构:

                在tomcat中所有的应用都是放置在CATALINA_HOME/webapps下,其中CATALINA_HOME对应的是你的tomcat的根目录。
          由于Servlet2.2之后的版本规范规定,tomcat中应用的目录结构都要满足固定的格式,这样便于规范一致性。
          放置在webapps下的文件通常是两种格式:一种压缩好的项目文件,比如war包!一种是正常的文件夹。
                如果是war包这种项目文件,tomcat会在启动后自动的把它解压缩到当前目录,变成可访问的文件夹。目录结构包括如下: 

                web.xml 文件:这个文件也叫做部署描述符,用于配置web应用的相关信息。
                需要注意的是:
                注意相同项的配置顺序,tomcat会按照配置顺序进行执行或者加载。需要注意的地方比如过滤器,还有一些页面的加载。其中各项的含义,百度一下也略知一二: 

                classes文件夹:
                classes文件夹下放置的是编译出的.class文件,比如你定义的某个包:com.test.hello.java 经过tomcat的启动发布后,就会在响应的应用下的classes文件夹下找到com/test/hello.class文件。类似的servlet, bean, 普通的java类都会编译到此处。

                lib 文件夹:
                lib 文件夹下放置的是项目应用的jar包。比如使用了SSH,在项目引用了jar包,最后都会放在这里。这个文件夹下的jar文件是不会编译到classes文件夹下的。详细信息参考tomcat的类加载机制。
                另外呢,这个文件夹下的jar包是属于应用自己使用的。tomcat根目录下还有一个lib文件夹,这里面存放着基本的servlet和jsp需要的jar包。
                如果有一定开发经验的朋友会发现,有时候自己在IDE里面开发,会莫名其妙的报一些错误。但是这些错误并不影响最后的发布。这就是因为在开发时,IDE没有找到对应的jar包,这些jar包存放在tomcat中。当应用发布时,会自动的寻找该文件夹,也就不会报错了。解决办法,就是再开发时,把tomcat的lib文件夹加入到IDE的编译环境中。
                比如说,在idea中,创建servlet提示无sevlet包支持,解决办法:按快捷键ctrl+alt+shift+S,进入Project Structue-->Modules-->Dependencies-->右侧的“+”号-->选择“2、Library”,选择自己安装的Tomcat后,单击“Add Selected”,即可。

                context.xml:
                常用语配置一些运行时改变的参数,这样tomcat可以定期扫描该文件,进行相应操作。
                为什么要有这个文件呢?就是因为其他的配置文件比如server.xml都是tomcat在启动时读取的信息,运行时是不能改变的,因此把一些动态的信息在这里设定就可以运行时期动态加载了。常用的就是配置数据源JNDI,其中详细的内容会在后文介绍配置文件的时候讲解。

        C)tomcat 部署项目的三种方法:

                Tomcat 部署项目的三种方法 - YSOcean - 博客园

  7)tomcat清空项目缓存的原因?与方法?

原因:

  1. 清理服务器缓存可以消除某些未知的错误,如果你运行以前编译的项目有错,而没有及时将服务器缓存清理掉,错误依旧可能发生在新的项目中:所以,清理缓存是很有必要的。
  2. tomcat服务启动后会产生一些缓存,在访问过程,由于各种原因没有更新系统内容,建议重启服务,或者清理tomcat缓存,先清理后重启也可以

方法:

  1. Myeclipse/eclipse》project》clean。上面的方式虽然简便,不过使用起来,还是不能够彻底的清理tomcat缓存。
  2. tomcat的安装目录》work,work目录下的文件都可以删除。删除work中的tomcat目录后,缓存已经删除。
  3. tomcat的安装目录》temp,每次启动tomcat在temp中都会产生一些临时文件,建议删除。
  4. 如果我们先前发布的一个项目有错,大家都知道,tomcat发布的项目在webapps下,如果以前的项目有错那么运行新的项目肯定还是会有错的。以前的项目遗留的错误,这时,只要将以前的项目删除掉就行了。进入webapps将以前遗留的项目删除就行了,也可以将所有的项目清空,因为Myeclipse的工作空间中还有以前的项目,我们只需要重新发布,tomcat的webapps目录中就会将工作空间中的项目自动重新加载到webapps中。

参考:

        Tomcat服务器如何清理缓存

        清理Tomcat缓存的步骤 

   8)tomcat启动时自动清理缓存的方法:

         tomcat启动时自动清理缓存的方法

        功能测试:[7]自动清除tomcat中的缓存

  9)总参考

        Tomcat 部署项目的三种方法 - YSOcean - 博客园

        tomcat 搭建以及发布配置 - 蒙恩少年 - 博客园

        【Intellij IDEA】16-编译器设置_bug制造者-CSDN博客

        Tomcat系列之 部署与发布_weixin_45737309的博客-CSDN博客

        Sina Visitor System

(3) 你可能会问

1) 日志乱码

参考:

        Intellij IDEA本地部署Tomcat运行后日志乱码?

2) 手动(重新)部署(修改代码后如何重新部署项目?)

3) 热部署

参考:

        intellij idea实现tomcat热部署

        IntelliJ IDEA热加载自动更新(Update classes and resources )

        IntelliJ IDEA Tomcat 配置详解(一定要选择名字带有 exploded 后缀的 war 包部署,不然修改文件重新部署是不生效的。)

4) 运行流程

        当你点击运行 tomcat 时,默认就开始做以下事情:

  1. 编译,IDEA 在保存/自动保存后不会做编译(如果不做热部署的话),不像 Eclipse 的保存即编译,因此在运行 server 前会做一次编译。编译后 class 文件存放在指定的项目编译输出目录下
  2. 根据 artifact 中的设定对目录结构进行创建
  3. 拷贝 web 资源的根目录下的所有文件到artifact的目录下
  4. 拷贝编译输出目录下的 classes 目录到 artifact 下的WEB-INF下
  5. 拷贝 lib 目录下所需的 jar 包到 artifact 下的WEB_INF下
  6. 运行 server,运行成功后,如有需要,会自动打开浏览器访问指定 URL

参考:

        IntelliJ IDEA Tomcat 配置详解_郎涯技术-CSDN博客

5) tomcat配置原理/小秘密(eclipse区别)

参考:

        IntelliJ IDEA tomcat配置原理理解

        idea配置tomcat里你不知道的小秘密

6) tomcat配置VM options参数说明

参考:

        idea 的Tomcat Server 配置VM options参数说明

        Intellij idea中Tomcat VM Options配置

(4) 其它参考

1) 安装与配置

        idea配置tomcat启动web项目

        使用IntelliJ IDEA配置Tomcat(详细操作)

        Intellij idea 的tomcat原理讲解(转)

2) 面板详解

        idea中tomcat配置详解

        IntelliJ IDEA Tomcat配置 详解

        IntelliJ IDEA 2017 JDK Tomcat Maven 配置步骤详解(一)

        IDEA配置Tomcat及项目

3 svn

(1) svn选项1:项目右击

参考:

        Idea使用SVN教程 

(2) svn选项2:工具栏中svn功能按钮

这个工具栏,可能你刚使用这个编辑器的时候,是没有的,可以参考下面链接,把这个工具栏给显示出来:IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结。 

下面对这五个按钮的简单介绍。

  1. 第一个按钮:Update Project 更新项目。
  2. 第二个按钮:Commit changes 提交项目上所有变化文件。点击这个按钮不会立马提交所有文件,而是先弹出一个被修改文件的一个汇总框,具体操作下面会有图片进行专门介绍。
  3. 第三个按钮:Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
  4. 第四个按钮:Show history 显示当前文件的历史记录。
  5. 第五个按钮:Revert 还原当前被修改的文件到违背修改的版本状态下。如果当前编辑的文件没有修改,则是灰色不可点击。

        上面的五个按钮,说实话,1,2是不常用的,因为在这个地方提交更新和下载更新,给你的感觉有点不清不楚的感觉。所以,在这一般不使用这2个按钮。

        最常用的就是后面的3个。第三个按钮就是在你把当前文件已经修改过了,有和svn库里面的代码做对比,那么就可以直接点击这个按钮,然后就可以直接看文件修改前后的差别啦。

        第四个也常用,就是查看当前文件的提交历史,点击之后,当前文件的历史修改记录就都会呈现在眼前啦。

        第五个按钮,就是你放弃对当前文件的修改,直接回撤到和最新库里一致的状态。

参考:

        IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结

(3) svn选项3:view-Tool Windows-svn窗口

下面再看看经常用的地方,怎么提交代码和更新代码。

更新代码简单,就在这个地方:

 参考:

        IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结

(4) svn文件颜色与状态的对应关系1:idea

  1. 绿色,已经加入控制暂未提交
  2. 红色,未加入版本控制
  3. 蓝色,加入,已提交,有改动
  4. 白色,加入,已提交,无改动
  5. 灰色:版本控制已忽略文件。

参考:

         在Idea中使用Git或者SVN后,类名各种颜色代表的含义

        idea下被svn版本控制各类文件的颜色区分

(5) svn文件颜色与状态的对应关系2:文件夹

文件夹颜色说明:

文件状态说明: 

参考:

        Intellij IDEA svn的使用记录 - 人情世故 - 博客园 (cnblogs.com) 

(6) 安装svn插件

 参考:

        如何安装intellij idea所需svn-百度经验 (baidu.com)

        intellIJ idea 配置 svn

(7) 安装svn客户端(TortoiseSVN)

 1)为什么一定要安装svn客户端(TortoiseSVN)?

        参考:

                Subversion 1.8 and IntelliJ IDEA 13 | The IntelliJ IDEA Blog (jetbrains.com)

 2)安装svn客户端(TortoiseSVN):

        参考:

                IDEA集成SVN插件及SVN使用

(8) 配置svn

        参考:

                IDEA集成SVN插件及SVN使用 - 超详细

(9) 检出项目

两种方案:

 参考:

        (64条消息) IDEA 从 svn 检出项目_悟世君子的博客-CSDN博客_idea从svn检出项目

Cannot run program "svn"(没装小乌龟,没配置svn.exe/没有安装命令行):

参考:

        idea使用"svn"到项目报错Error:Cannot run program "svn" (in directory "E:\XXXXXX"):CreateProcess error=2

        IntelliJ IDEA设置TortoiseSVN插件(Cannot run program "svn")

(10) 解除SVN关联

        (64条消息) Intellij IDEA项目 解除SVN关联_零-CSDN博客

(11) 项目重新关联svn

         IDEA 现有项目连接SVN - 取个名字吧 - 博客园 (cnblogs.com)

(12) 提交1:按你的想法分文件夹存放

        下面说提交代码的相关说明。

        下面就是比较这个编辑器比eclipse的版本管理好的地方也就是这个本地代码在修改之后,他可以按你的想法分文件夹存放。以方便把任务一个个的分开,做完一个提交一个。而不是在你提交的时候,你得自己仔细仔细的查找哪个和哪个是一个任务的,然后再提交,下面看图示范:

图上,忘记打箭头啦(那个绿色的加号可以添加类别,红色减号,删除类别。就不示范了)。 

        可以看到我又添加了2个列表,一个是“线程测试”,一个是“system测试”。这相当于是2个任务,他们又互不相干。你干完一个,你就可以选中一个列表,然后提交。

        而不是下面这种。三个修改的文件放在一起,提交的时候,得自己找你完成了哪个任务,提交哪个文件:

可以看到这三个文件,假设不分组存放的话,你干完任务你得找一下,哪个是需要提交的,然后再提交。不要说这个无所谓啦,在这里,你看到的是只是改动了三个文件,但是,一般项目,动不动就是十几二十个文件的改动,你慢慢挑,挑瞎你。搞不好,还会出现,哎,忘记提交了这个文件,或者多提交了那个文件。既然有这么好的功能,为何不好好利用一下呢。

        这里面还有些个按钮我就不一一解释啦。因为我这个是为了写这个文章而做的没必要的修改,这个时候,我就可以选中这个default类别,然后点击那个第一竖排的第三个按钮,revert,直接把代码回撤到与库里代码相同的版本。也就是撤销我的修改。(顺便示范一下这个按钮的作用)默认,这个地方就只有一个default分类,所有修改的文件都会本分在这个default类里面,你可以根据需要,自行新建分类。

        还有就是,刚刚从eclipse转过来的同学,可能会发现,在这编辑器里面修改了文件之后,发现,文件夹的颜色不像eclipse那样跟着变颜色。因为所有被修改的代码都会在这个local changes的地方显示的,所以,文件夹变颜色的这个,也就显得没必要啦。

 参考:

        IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结

(13) 提交2:某个、某些

关于单独选择某个或者某些被修改的文件的截图如下。

        提交:不想选中整个类别提交所有的话,你也可以按Ctrl选中你想要提交的文件,然后再点左边的第一竖排的第二个按钮提交。 注:这几个按钮和我们在上面的工具栏看到的是一样的。

        revert选中之后,也可以revert,回撤。

        move to another changelist:换个类别列表。

        show diff:查看修改文件和原来库里的差别。注意一下,快捷键提示哦,这个你在提交代码的时候,把每个提交的文件都跟库里对比一下,确认一下修改的地方没错误,再提交。

        delete:删除某个文件。

看个实际提交的图的例子。

  1. Reformat code:格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。
  2. Rearrange code:重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。
  3. Optimize imports:优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。
  4. Perform code analysis:进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。
  5. Check TODO:检查代码中的 TODO。
  6. Cleanup:清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。

        为啥我一个没勾选,因为,第一个,代码格式化,你只是格式化你写的代码就行,项目是很多人在不同的时间段写的,所以,不要随便格式化别人的代码,那样版本控制就会显得乱七八糟。你写的代码肯定要记的格式化一下。第二个,优化导入包的,这个可以在编辑器的配置里面配置,不需要到这再弄,啰嗦啦。第三个,分析代码,他分析代码会说你的代码会有多少警告,代码哪里和哪里重复啦,等等,也很啰嗦,这些你在写代码的时候,看到黄色警告线,都大概处理下就好啦,也没必要来这里啰嗦。第四个,check todo 也没必要。所以,我就一个没勾选啦,知道todo是干啥的不?也就是代码里面立的flag,等着以后完成呢,至于完成没,那就不好说啦。

参考:

        IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结

(14) 提交3:新建文件夹

        提交新建的文件到svn项目:

发现以前新建文件是红色的,不能进行提交,添加到VCS就变成绿色了,就能提交了,也可以自行设置新建文件默认可以提交。

参考:

        idea使用svn(日常使用)

(15) 查看1:历史上传记录

右击项目 - Subversion - show History:

 参考:

        idea使用svn(日常使用)

(16) 查看2:历史提交版本信息

查看历史提交版本信息:

参考:

        idea使用svn(日常使用) 

(17) 查看3:某一行的提交历史(追责到每一行代码时有巨大用)

        查看每一行是由谁何时提交的(追责到每一行代码时有巨大用):

        右击该文件,然后选择此项,文件的左侧就会显示每一行都是由谁提交的:

参考:

        idea使用svn(日常使用) 

(18) 更新1:就是你放弃对当前文件的修改,直接回撤到和最新库里一致的状态

参考:

        IDEA 下的svn配置及使用的非常详细的图文总结 

(19) 更新2:更新到指定版本的代码

更新到指定版本的代码

具体请看图:

对勾打上,现在看到的后面的是head也就是最新的,或者,以前,我这就没选,那默认就是更新全部嘛。现在可以点击第三个箭头所指的地方,然后选择你要更新到哪个版本号,然后就可以啦。剩下的就不详细描述啦。

不过,记得用完啦之后,下次再更新的时候,记得把这个对勾,给去掉哟,不然就不好啦

参考:

        IDEA 下的svn配置及使用的非常详细的图文总结

(20) 冲突:解决Subversion版本控制下的文本冲突

        更新代码还有个大问题就是:【可能产生代码冲突】。

        下面我给上更新冲突的时候的截图。

        我这是演示呢,就不冲突很多个啦,就简单的整一个冲突的地方,给简单说明下问题就好。

        这个弹框的界面都大差不差的。

        一般遇到这个情况,你要是确定没什么可提交的,而且,你修改的本地代码也就是自己搞搞测试,那么,这种情况下,你就可以直接接受别人的,放弃本地修改。

        要是,你一本正经的在完成你的任务,但是你的同事却凑巧也修改了你正在修改的文件,而且他还先你一步提交了,废话,要不然,解决代码冲突的事情,就是他来干啦。这个情况下,就得考虑合并了,也就是对应上图的merge按钮啦。

        点了会出现下图:

        注意下,这个页面的布局,左边的是local,也就是本地的,你修改的,右边的是server,也就是 服务器上的,中间的就是result,也就是合并结果。

        再注意,右上角那地方,有个数字,也就是简单的总结下冲突和变更的个数。

        这个视情况而定。

        我的这个例子里面冲突的就一个地方。然后就是还有个比更的地方。

        这个时候,你再看这个截图中间的2个红框,里面的箭头方向都是朝向中间的,要是你觉得哪边合适,也就是哪边的代码是OK的,那么就点哪边的箭头,然后抛弃的哪一边,就点对应的那个差号,就放弃啦。

        因为这个地方有2个变化,一个冲突,一个变更。那么,这都是要处理的。所以,你要把这些都变更,冲突,都处理完啦。最后,点apply,这之后,就算是合并冲突完事儿啦。
 

参考:

        解决Subversion版本控制下的文本冲突_w3cschool

        IDEA 下的svn配置及使用的非常详细的图文总结

(21) ignore:忽略版本控制(及查看)

还有一个比较有用的地方就是  Ignore。

有些不需要版本控制的文件,该怎么处理,才能是这个local changes,这一栏看着干净整洁点。

因为我这个项目已经处理过了,所以,我只是把我处理的东西拿出来示范一下。这些个是我忽略版本管理的那些文件,

可以看到都是在.dea文件夹下的一些文件,这些文件是不需要版本控制的,也不需要显示在这local changes一栏的。所以,你选中这些多余的文件,然后ignore掉就可以啦。

 

这样就把这些不需要版本控制的文件都从这一栏消失掉,这个操作完之后,点一下刷新就可以啦。

就是左边第一竖排的第一个 按钮啦。我这么大概解释下,你在摸索下,就知道具体怎么回事啦。

他可以忽略某个文件,或者忽略某个文件夹下的文件,或者是某一类型文件。。。对应上图中间的三个操作。

你可以如下查看你忽略版本控制的文件。

 

参考:

        IDEA 下的svn配置及使用的非常详细的图文总结 

(22) maven project:Idea如何不显示.idea、target文件夹

参考:

        svn提交忽略target和.idea

        intellij idea local changes 忽略 文件和文件夹的方法*.iml;*.class;.idea;classes;

(23) maven project:不上传target目录

        在开发maven项目时,上传项目时不要把target这个上传上去,服务器内存大点还好,否则会非常慢。

参考:

        Idea使用SVN教程

(24) 你可能会问

1) idea 设置svn 父目录文件显示状态颜色

参考:

        IntelliJ IDEA 版本控制(svn、git) 修改文件后,所属目录的颜色也变化

        Intellij idea 设置svn 父目录文件显示状态颜色

(25) 其他参考

        Idea使用SVN教程

        IntelliJ IDEA使用教程 (总目录篇)_请叫我大师兄-CSDN博客

        Intellij IDEA svn的使用记录 - 人情世故 - 博客园 (cnblogs.com)

        (64条消息) idea使用svn(日常使用)_小思的博客-CSDN博客_idea使用svn

4 maven 

(1) 集成mave(dljd)

        同:五 项目相关 -> 3 maven项目 -> (1) 使用maven创建java工程(dljd)

(2) maven选项1:项目右击

1) reload project:pom文件重新导入包

参考:

        IntelliJ IDEA怎么加载maven里pom引用包-百度经验 (baidu.com)

2) Unlink Maven Projects:设置一个项目为Maven项目以及解除Maven项目 

参考:

        设置一个项目为Maven项目以及解除Maven项目

3) create 'profiles.xml'

参考:

        24. IntelliJ IDEA 配合 Maven 的一些要点 · IntelliJ-IDEA-Tutorial (gitbooks.io)

        IntelliJ IDEA 配合 Maven 的一些技巧:Profiles

        【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明

4) download sources and/or documentation

参考:

        IDEA设置Maven下载source、document

        idea cannot download sources解决办法 - 秋风飒飒吹 - 博客园 (cnblogs.com)

5) show Effective POM

参考:

        获取maven完整/实际/生效(effective)的pom.xml文件

6) show Diagrams/show Diagrams Popup…

参考:

        Intellij IDEA Diagrams找不到_idea没有diagrams

        IDEA 查看某个class的maven引用依赖&如何展示Diagram Elements

        如何使用Intellij IDEA查看maven依赖图-百度经验 (baidu.com)

7) Ignore Projects:eclipse来的项目

参考:

        Maven状态颜色以及ignore

        idea右侧栏maven-project项目变灰

        idea启动maven项目报错找不到包但包是存在的(设置idea的SVN忽略掉*.iml文件 1、Editor->File Types=>Ignore files and folders增加*.iml; 2、在lgnore files and folesrs中输入.idea;注意要";"结尾。你就可以隐藏.idea文件夹了)

(3) maven选项2:View - Tool Windows Maven

        在IDEA中操作maven项目的时候,使用最多的是Maven Project视图。

1. 打开Maven Project视图
        新版的IDEA安装完成之后,在窗口的右侧边栏,就能点击出来。

         也可以通过IDEA的菜单栏打开,View-->Tool Windows-->Maven:

 2. Maven Project视图介绍
        首先先看一下Maven Project视图界面的分布。

         下面分开讲解:

  2.1. 快捷工具栏中的图标

        

从左到右依次对应

(1)Reimport All Maven Projects
        根据pom.xml文件重新导入所有Maven项目和依赖

(2)Generate Sources and Update Folders For All Project
        创建源码(可能是重新编译)并更新目录

(3)Download Resource and/or Document
        下载源码或文档:     

(4)Add Maven Projects
        添加Maven项目

(5)Run maven Build
        执行生命周期中的阶段,选中生命周期中的一个阶段(phase),才能点击执行。也可以双击生命周期中的阶段执行:           

 (6)Execute Maven Goal
        运行Maven生命周期或插件Goal(目标,也就是插件里边的一个功能):

(7)Toggle Offline Mode
        切换离线模式,就是关闭和远程仓库的链接,从本地仓库中获取,也不能将jar包提交到远程仓库

        (场景:比如自己公司定义的jar包,提交到了私服中,然后私服挂了,在获取依赖的时候,获取不到,然后本地仓库中也有这个jar包,但是依赖一直从私服那里获取,这时候就切换离线模式,就能从本地仓库中获取jar包资源了)

(8)Toggle 'Skip Tests' Mode
        是否跳过测试,点击选中就可以跳过测试,在点击选择取消跳过测试

(9)Show Dependencies(Ctrl+Alt+Shift+U)
        展示当前选中的maven项目jar包的依赖,并且可以直接在图形化依赖图上进行排除依赖操作,如下:

(10)Collapse All(Ctrl+NumPad -)
        收起下面展开的视图

(11)Maven Setting
        跳转到maven的Setting页面

理解了上边的功能怎么用下边就非常的简单了。

2.2.LifeCycle
展示maven项目构建生命周期中常用的命令,方便快速执行。

2.3.Plugins
展示项目中依赖的maven插件。

2.4.Dependencies
展示Maven项目中所有依赖的jar包。

参考:

        IDEA中Maven Project视图用法 - 简书 (jianshu.com)

(4) 你可能会问

1)idea如何恢复maven项目的项目设置项(project structure:project、modules、libraries、facets、artifacts)?

        项目-右击-reload project

2)Maven projects need to be imported -> Enable Auto-Import

        maven导入包问题-Maven projects need to be imported

        点击Enable Auto-Import,以后更改pom文件后就会自动下载依赖包了

(5) 其它参考

        IntelliJ IDEA 如何安装maven插件-百度经验 (baidu.com)

        IDEA中构建maven项目

5 git 

(1) git下载-dljd

在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

安装包下载地址:https://gitforwindows.org/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。

(2) Git安装教程 - dljd

双击安装文件

注意安装路径不能有中文和空格

启动cmd命令行工具,以查看版本号的形式验证Git是否已经安装成功

(3) idea中配置git - dljd 

打开settings --> Version Control --> Git

第一栏文本框会自动识别到本地Git安装路径下的git.exe

点击测试

其他项维持默认即可

以上就是IDEA对于GitHub和Git的基本配置

以上配置完毕后,我们来操作项目

6 lombok

(1) 你可能会问

1)Lombok support plugin updated to v0.34.1

                lombok支持插件更新为v0.34.1

        Helpful? Donate with PayPal  

                有用吗?捐款呗

        Fixes: - Fixed regression (#998): Icon cannot be found 'icons/lombok.svg'  

                修复:-修复回归(#998):图标无法找到“icons/lombok.svg”

        If you find my plugin helpful, donate me using PayPal

                如果你发现我的插件有帮助,捐款

七 使用手册 

1 dljd-java项目

(1)隐藏和显示空包(package)/IDEA中package目录分层显示 

将Compact Middle Packages(压紧中等包)给取消即可,如下图所示:

(2)设置项目字符集 —— 当前项目(就近原则)

 (3)设置项目字符集 —— 以后新建项目(即设置idea默认字符编码)

 

(4)修改idea的快捷键为eclipse风格

 (5)idea默认帮我们保存,但建议要养成按ctrl+s的习惯,避免如在写文档时忘记保存。

1 dljd-web项目

(1) 如何调出services窗口

点击1次:收起所有窗口

点击2次:弹出所有窗口(在左、右、下栏)

快捷键:Alt+数字

(2) 配置jsp的注释模版

第一步:fie - setting

第二步:修改模板(随意增、删、改)

(3) 单独 :配置class、interface、Emum的注释模版 

第一步:fie - setting

第二步:修改模板(随意增、删、改)

(4)全局 : 配置class、interface、Emum的注释模版 

第一步:fie - setting

第二步:修改模板(随意增、删、改)

1 dljd-maven-java项目

(1) 设置idea默认的maven配置(包含属性)及默认本地仓库

首先,设置默认的maven配置:file ⇨ New Projects Settings ⇨ Settings for New Projects: 

其次, 首先,设置默认的maven的属性:file ⇨ New Projects Settings ⇨ Settings for New Projects:

(2) 设置idea自动提示不区分大小写(dljd)

(3) 修改工程的编译级别

        运行过程中,我们发现有红色报警的情况。那是因为编译级别的问题:现在我们用的jdk是1.8版本的,而我们用的编译级别是1.5的,所以才会出现红色报警的情况(如下图所示)。因此我们要  “修改工程的编译级别”  :

修改工程的编译级别:

刷新项目:右击项目 - maven - reload project

查看修改编译级别后的效果:

1 dljd-基本设置

 (1) 设置tomcat发布应用时,默认浏览器的种类和顺序

(2) 设置背景图片

第一步:Ctrl+Shift+A

第二步:设置背景图及参数

2 项目  右击 

(1) Mark Directory as

1) 为什么要有Mark Directory as?
参考:

         Project Structure 讲解

        Souces:这里对Module的开发目录进行文件夹分类,就是说这个module里有什么内容,说明了不同性质的内容放在哪里。

        注意,这些不同内容的标记代表了一个标准Java工程的各项内容,IntelliJ就是根据这些标记来识别一个Java工程的各项内容的,比如,它会用javac去编译标记为Sources的源码,打包的时候会把标记为Resources的资源拷贝到jar包中,并且忽略标记为Exluded的内容。左边显示的是在选中内容的预览。

2) 6种类型的含义
参考:

        IDEA Mark Directory as 下的文件夹分别代表的含义

        IntelliJ IDEA 之 mark directory as的作用 - 简书 (jianshu.com)

        idea添加目录时,Mark Directory as的几个选项详解

        IDEA里五种目录类型简介(Mark Directory as) - hcss - 博客园 (cnblogs.com)

3) 创建文件夹(2020版本idea,右击 new  package)
参考:

        IDEA将文件夹设置为源代码目录、测试源代码目录

4) 如何把intellij idea中文件夹设置成源代码目录

参考:

        如何把intellij idea中文件夹设置成源代码目录-百度经验 (baidu.com)方法1、项目右击

        IDEA如何将项目中文件夹设置为Sources(蓝色)方法2、Project Structure Modules

        IntelliJ IDEA创建Java源文件夹方法2、Project Structure Modules

3 工具窗口 

1 Terminal(集成工具  终端)

官网摘抄:

        IntelliJ IDEA 包含一个嵌入式终端仿真器,用于从 IDE 内部使用命令行 shell。使用它来运行 Java 工具、Git 命令、设置文件权限以及执行其他命令行任务,而无需切换到专用的终端应用程序。

官网教程:Terminal | IntelliJ IDEA

4 欢迎界面 

02

 如上图所示,打开 IntelliJ IDEA 后,首先迎接我们的就是这个界面:

标注 1:Create New Project创建一个新的项目;

标注 2:Import Project导入一个已有的项目;

标注 3: Open打开一个已有的项目;

标注 4:Check out from Version Control(如svn、git等)可以通过服务器上的项目地址 Checkout(俗称:检出) 项目。

参考:

        详述 IntelliJ IDEA 的使用界面

5 面板说明 

在这里插入图片描述

参考:IntelliJ IDEA 面板、菜单介绍

6 菜单栏 

(1) File 

  • New:一般用于新建一个工程。但也可以新建project,导入已存在的资源project,从版本控制库导入工程,新建Module,导入已存在的资源Module,新建文件(JS,DB,JSP,Java,CSS……),新建FMXL文件。
  • Open...:打开本地的文件或工程
  • Open Recent:打开最近已导入过的工程
  • Close Project:关闭工程
  • Settings...:IDEA所有的配置都在这里配置
  • Project Structure
  • File Properties
  • Save All
  • Reload All From Disk
  • Invalidate Caches / Restart...
  • Manage IDE Settings
  • New Projects Settings
  • Export
  • print...
  • Add to Favorites
  • Power Save Mode
  • Exit

(1-1-1) New_Project

标注 1:IntelliJ IDEA 支持的框架及语言;

标注 2:与 标注 1 相对应的框架或语言的进一步分类。 

(1-5-1) Setting_Editor_Color Scheme:背景颜色样式(dljd)

参考: 

        IntelliJ IDEA如何修改背景颜色样式(百度经验)

(1-6-0) Project Structure

1)  Facets和Artifacts的区别

参考:

        Intellij IDEA的Facets和Artifacts_顺其自然~专栏-CSDN博客

        Intellij IDEA 14.x 中的Facets和Artifacts的区别_常思考->有目标->重实践->善反思-CSDN博客

2) modules、facets、artifacts、tomcat的关系

  1. 它们的功能:无论配置modules 、Facets、Artifacts还是标记Content Root,都是Intellij IDEA要求我们这样做的,以便其能识别这些文件并整合各插件实现功能。IDEA里面的facets和artifacts的讲解 
  2. 它们的优先级,个体配置优先。IntelliJ Idea中的 Facets 与 Artifacts 
  3. Facet 是和 Module 紧密结合的,你如果是在 Module 里配置了,那么 Facet 里边也会出现,而如果你先在 Facet 里配置,它会要求你选择 Module,所以结果是一致的。https://blog.csdn.net/fuhanghang/article/details/108766540 
  4. Facet 和 Module的关系好理解,就是一个总体和个体配置的关系。IntelliJ Idea中的 Facets 与 Artifacts 
  5. 一个module有了 Artifacts 就可以部署到应用服务器中了!Artifact 是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;其中 war 和 war exploded 区别就是后者不压缩,开发时选后者便于看到修改文件后的效果。 https://blog.csdn.net/java_lifeng/article/details/90026445 
  6. 而 Artifacts 里的输出目录是跟容器有关系的,在容器运行的时候,会把前两者(modules、facets)中起作用的那个(个体配置优先)的 classes 文件复制到 Artifacts 配置的目录的 WEB-INF下边,然后把 Module 的 Facet 里的资源文件目录复制到 Artifacts 目录里,再就是复制 lib 下的 jar 包到 WEB-INF 下,之后项目就可以启动了。IntelliJ Idea中的 Facets 与 Artifacts 

3) project compiler output、modules的compiler output 和artifact out directory的区别

 IntelliJ Idea中的 Facets 与 Artifacts_约纳森的博客-CSDN博客

        谈到 Artifacts,就得说一下几个输出目录的问题,Project 选项里有一个 Project compilerc output 目录,这个是整个 Project 的编译输出目录;Modules 的具体单个 Module 的 Path 选项里有个 Compiler output,可以选择继承 Project 或者自定义输出目录.

        在这里插入图片描述然后就是 Artifacts 也有一个 Output Directory,这几个的关系是怎样的呢?

        前两者的关系好理解,就是一个总体和个体配置的关系。而 Artifacts 里的输出目录是跟容器有关系的,在容器运行的时候,会把前两者中起作用的那个(个体配置优先)的 classes 文件复制到 Artifacts 配置的目录的 WEB-INF下边,然后把 Module 的 Facet 里的资源文件目录复制到 Artifacts 目录里,再就是复制 lib 下的 jar 包到 WEB-INF 下,之后项目就可以启动了。

Idea的Artifacts_qq540827396的博客-CSDN博客_idea中的artifacts

其实,实际上,当你点击运行tomcat时,默认就开始做以下事情:

1)编译,IDEA在保存/自动保存后不会做编译,不像Eclipse的保存即编译,因此在运行server前会做一次编译。编译后class文件存放在指定的项目编译输出目录下(见1.2.2);

2)根据artifact中的设定对目录结构进行创建;

3)拷贝web资源的根目录下的所有文件到artifact的目录下(见1.2.3);

4)拷贝编译输出目录下的classes目录到artifact下的WEB-INF下(见1.2.2);

5)拷贝lib目录下所需的jar包到artifact下的WEB_INF下;

6)运行server,运行成功后,如有需要,会自动打开浏览器访问指定url。

3) 其他参考:

        Tomcat Web项目配置详解

        [Intellij] Project Structure 配置说明 - Aviva_ye - 博客园

        Eclipse转Intellij IDEA简单介绍 - 程序员大本营

        【intellij idea】Project Structure 讲解 - hellozay - 博客园

        IDEA Project Structure 介绍_gaofv的博客-CSDN博客

        IDEA中每天都在用的Project Structure,你了解多少? - 程序新视界 - 博客园

        一文秒懂IDEA中每天都在用的Project Structure知识

        IDEA Project Structure介绍 Modules Facets Artifacts - 简书

        Project Structure 讲解

        Project Structure详解 - KING磊 - 博客园

        

(1-6-1) Project Structure_Project

  1. Project name:项目名,使用此字段编辑项目名称。
  2. Project SDK:项目SDK,选择项目SDK。如果所需SDK不在列表中,请单击“ New”,然后选择所需的SDK类型。然后,在打开的对话框中,选择SDK主目录,然后单击确定。要查看或编辑所选SDK的名称和内容,请单击"Edit"。(SDK页面将打开。)
  3. Project language level:选择要支持的Java语言级别。选定的级别将被用作项目默认值。可用选项对应于JDK版本:
    • 1.3 - 普通的旧Java
    • 1.4 - “断言”关键字
    • 5.0 - 'enum'关键字,自动装箱等
    • 6.0 - @Override在接口
    • 7.0 - 钻石,ARM,多捕获等
    • 8.0 - Lambda支持,类型注释等
    • 注意1:可以为您的任何模块设置单独的语言级别 。
    • 注意2:如果目标级别没有明确定义(编译器选项-target),则认为它与源语言级别相同。因此,如果-target没有明确定义,它将与语言水平同步。
  4. Project compiler output:项目编译器输出,指定IntelliJ IDEA将存储编译结果的路径。单击选择路径对话框中browseButton 的目录。 指定目录中的三个子目录将被创建:
    • artifacts:存放war包解压以后的标准web结构的代码,里面子文件的名字一般为(项目名)_war_exploded;
    • production 为生产代码。
    • test 为测试来源。
    • 注意1:在这些子目录中,将为每个模块创建单独的输出目录。可以在模块级别为某个模块单独的重新的定义
      输出路径。

参考:

        [Intellij] Project Structure 配置说明 - Aviva_ye - 博客园

        【intellij idea】Project Structure 讲解 - hellozay - 博客园

        Project Structure详解 - KING磊 - 博客园

(1-6-2) Project Structure_Modules 

1) Sources面板

2) Path面板

3) Dependencies面板

4) 自动检测,当前模块的Facets(可CRUD):

  

参考:

        [Intellij] Project Structure 配置说明 - Aviva_ye - 博客园 

        【intellij idea】Project Structure 讲解 - hellozay - 博客园

        Project Structure详解 - KING磊 - 博客园

        Project Structure 讲解 

        关于IDEA,Project Structure中的modules的作用 - 程序员大本营

        idea Project Structure 下Modules板块 工程下 Spring 的作用 - liuyuchong - 博客园

        (所以说:这个东西其实就是idea方便读者查看bean的一个功能而已,和我们执行代码木有半毛钱关系~。想跨xml使用bean还是使用import或者在ApplicationContext入参里加参数的好。

(1-6-3) Project Structure_Libraries

(1-6-4) Project Structure_Fects

1) 目前可用Facets列表(包含存在依赖关系的Facets)

        Intellij IDEA的Facets和Artifacts

        IntelliJ IDEA 2016.2 Help :: Spring Facet Page

2) Facets的概念

        Intellij IDEA 的 facets的概念

3) Facets的作用是什么?为什么要使用Facets?

        IntelliJ IDEA增加对框架的支持_w3cschool

        IntelliJ IDEA通过添加对各种开发框架、技术和语言的支持,可以扩展 IntelliJ IDEA 模块的功能。(在本文中,“框架”一词也用于指代技术和语言。)因此,根据框架,IntelliJ IDEA可能会:

  • 下载框架实现文件,在库中排列这些文件,并将该库添加到模块的依赖关系中。
  • 创建示例类或应用程序以及框架配置和应用程序部署描述符文件。
  • 向编辑器添加框架特定的编码辅助功能。
  • 创建一个 facets,用于指定框架在模块中的使用方式。
  • 为您的应用程序创建一个运行/调试配置。
  • 创建一个工件配置,例如,用于打包或部署您的应用程序。
  • 提供一个特定于框架的工具窗口。

        

        Intellij IDEA的Facets和Artifacts

        Facets表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。

        使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各样的描述符,并存储在适当的位置,等等。

        IntelliJ Idea中的 Facets 与 Artifacts

        它的作用就是配置项目框架类支持。比如我们现在要开发的是一个 web 项目,那就需要 web 相关的 Facet,事实上,如果没有这个配置支持,编译器也不知道这个项目是个 web 项目,也就不会去读取 web.xml 的配置,更无法被 tomcat 这种容器支持。

        Intellij IDEA 的 facets的概念

        

       Eclipse的Project Facets属性详解 (从eclipse的角度看Facets的作用)

        Eclipse中的Project Facets的用途 (从eclipse的角度看Facets的作用)

4) 添加xxx Facets时需要注意的问题

        IntelliJ Idea中的 Facets 与 Artifacts

        Facet 是和 Module 紧密结合的,你如果是在 Module 里配置了,那么 Facet 里边也会出现,而如果你先在 Facet 里配置,它会要求你选择 Module,所以结果是一致的。

        Intellij IDEA的Facets和Artifacts

        大多数Facets可以无冲突得添加到Module中。

        也有一些Facets是继承其他Facets的,这些Facets的添加就必须先添加他们的父Facets,这些Facets也要依赖Intellij IDEA的相关插件是否开启.

        链接:目前可用Facets列表(包含存在依赖关系的Facets

5) 添加Web Facets面板详解

参考:

        IntelliJ IDEA增加对框架的支持_w3cschool

        详解如何用IDEA创建一个Maven版的Java Web项目?

        Intellij IDEA的Facets和Artifacts

        

6) 添加Spring Facets面板详解

 参考:

        idea Project Structure 下Modules板块 工程下 Spring 的作用

        (所以说:这个东西其实就是idea方便读者查看bean的一个功能而已,和我们执行代码木有半毛钱关系~。想跨xml使用bean还是使用import或者在ApplicationContext入参里加参数的好。

        IntelliJ IDEA增加对框架的支持_w3cschool 

        Intellij IDEA的Facets和Artifacts 

        关于IDEA,Project Structure中的modules的作用

(1-6-5) Project Structure_Artifacts

1) 什么是artifact?作用是什么?

        先理解下它的含义,来看看官方定义的artifacts:

     An artifact is an assembly of your project assets that you put together to test, deploy or distribute your software solution or its part. Examples are a collection of compiled Java classes or a Java application packaged in a Java archive, a Web application as a directory structure or a Web application archive, etc.

        即编译后的java类,web资源等的整合,用以测试、部署等工作。再白话一点,就是说某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式。某个module有了 Artifacts 就可以部署到应用服务器中了。

  1. jar:Java archive,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库;
  2. war:web application archive,一种JAR文件,其中包含用来分发的JSP、Java Servlet、Java类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源;
  3. exploded:在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。

        默认情况下,IDEA的 Modules 和 Artifacts 的 output目录已经设置好了,不需要更改,打成war包的时候会自动在 WEB-INF目录下生成classes,然后把编译后的文件放进去。

参考:

        Intellij IDEA 14.x 中的Facets和Artifacts的区别

        idea Artifacts 配置_it_manman的博客-CSDN博客_artifacts

        intellij IDEA中的artifacts的概念

2) 创建artifacts(如tomcat没有出现artifacts时)

        IntelliJ IDEA部署web项目,Tomcat没有出现Artifacts

3) 详解Artifacts面板

参考:

        解析IDEA中的Artifacts配置_Mr_moving-CSDN博客_idea配置artifacts

        Intellij IDEA的Facets和Artifacts_顺其自然~专栏-CSDN博客

        IDEA使用系列-Project Structure 讲解

4) exploed是什么意思

参考:

        Intellij IDEA 中的Facets和Artifacts的区别

        建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。

5) 部署artifacts到服务器或者云平台

参考:

        idea Artifacts 配置_it_manman的博客-CSDN博客_artifacts

6) 部署结果

参考:

        Intellij IDEA的Facets和Artifacts_顺其自然~专栏-CSDN博客

7) 发布artifacts

参考:

        idea Artifacts 配置_it_manman的博客-CSDN博客_artifacts

你可以通过Build | Build Artifacts主动的进行构建

当然你也可以通过执行run/debug配置进行构建artifacts

8) JAR方式运行artifacts

参考:

        idea Artifacts 配置_it_manman的博客-CSDN博客_artifacts

9) Build Artifacts没反应,灰色的

参考:

        IDEA里点击Build,再Build Artifacts没反应,灰色的?解决办法(图文详解)

10) IDEA配置artifacts中Web Application:Exploded和Web Application:Archive的区别

参考:

        IDEA配置artifacts中Web Application:Exploded和Web Application:Archive的区别

(1-6-6) Project Structure_SDKs

(1-6-7) Project Structure_Global Libraries

(1-6-8) Project Structure_Problems

(1-11-1) Manage IDE Settings_Import Settings...

        导入Settins文件。你可以将自己以前保存过的settings文件导入进来,也可以导入外来的settings文件,例如换主题皮肤。

(1-11-2) Manage IDE Settings_Export Settings...

         导出Settings文件。将自己习惯的settings文件导出到本地或云盘,下次在新的地点使用时可以直接导入使用。

(1-12-1) New Projects Settings_ Settings for New Projests...

        IDEA在Setting中某些配置是For当前project的,也就是意味着你新打开的一个project并不能够默认通用这些配置,你需要另外重新配置。你可以在New Projects Settings_ Settings for New Projests...中进行一些全局通用配置。例如:maven的安装路径,maven仓库地址,git.exe地址等。

(2) Edit

  • Undo:撤销
  • Redo:返回撤销之前
  • Cut:剪切
  • Copy:复制
  • Paste:粘贴
  • Delete:删除
  • Find
  • Find Usages
  • Column Selection Mode
  • Select All
  • Extend Selection
  • Shrink Selection
  • Toggle Case
  • join Lines
  • Dupliacate Line
  • Fill Paragraph
  • Sort Lines
  • Reverse Lines
  • Indent Selection
  • Unindent Line or Selection
  • Convert Indents
  • Macros
  • Encode XML/HTML Special Characters
  • Edit as Table...

参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

 (3) View

  • Tool Window:一些工具窗口
  • Appearance
    • ToolBar:工具栏(显示/关闭)
    • Tool Buttons:工具按钮(IDEA左右和底部的工具框)
    • Status Bar:IDEA右下角的状态栏
    • Navigation Bar
  • Quick Definition
  • Show Siblings
  • Quick Type Definition
  • Quick Documentation
  • Show Bytecode
  • Parameter Info
  • Type Info
  • Context Info
  • Error Description
  • Jump to Source
  • Recent Files:最近打开过的文件(Crtl + E)
  • Recently Changed Files:最近做过修改过的文件
  • Recent Locations
  • Recent Changes:最近修改记录
  • Compare With
  • Compare With Clipboard
  • QuickSwitch Schema...
  • Active Editor
  • Bidi Text Base Direction

参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(4) Navigate导航

  1. Back
  2. Forward
  3. Search Everywhere
  4. Class... :查询类
  5. File... :查询文件
  6. Symbol...
  7. Line/Column...
  8. Next Highlighted Error
  9. Previous Highlighted Error
  10. Last Edit Location
  11. Next Edit Location
  12. Navigate in File
  13. Select In...
  14. Jump to Navigation Bar :跳到导航栏
  15. Delaration or Usages :进入光标所在的方法/变量的接口或是定义处
  16. Implementation(s) :方法的实现
  17. Type Delaration :进入光标当前所在属性的类
  18. Super Method
  19. Test
  20. Related Symbol...
  21. File Structure
  22. File Path
  23. Type Hierarchy :当前类的分层结构
  24. Method Hierarchy
  25. Call Hierarchy
  26. Bookmarks

 参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(5) Code编码:这都是些和编码相关的,重写方法,实现方法,环绕(try…catch,if…else,…),上面显示的快捷键基本都需要记住,因为是比较常用的

 参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(6) Analyze分析

  参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(7) Refactor重构:这些在项目重构时会使用的加多,例如类名更改,可以通过Rename(Shift + F6)来快速替换所有使用该类的地方。

   参考:(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(8) Build:构建项目相关的

编译类型:compile、build和make三种方式的编译:

Compile

    idea不像eclipse一下在写完代码后需要ctrl+s进行保存,并且保存时会进行编译(可能是项目很缓慢和停顿,用过的都应该有映像),但是不编译也不会影响代码的检查(同样会进行报错)。可以使用Setting》Build,Execution,Deployment》Compile 下的make project automatically(默认保存时不进行编译)进行设置。可以在类文件上 》右键 》Recompile 进行编译操作。

 ReBuild、Rebuild Module

    这是对整个工程、工程下的模块进行编译,执行时间可能较长。

 make

    只对修改过的文件进行编译。

  • Build Project :编译项目(但只编译修改过的文件,没有修改过的文件则不会进行编译。)
  • Build Module '项目名' : 编译模块(但只编译修改过的文件,没有修改过的文件则不会进行编译。)
  • Recompile 'Xxx.java' :重新编译类文件
  • Rebuild Project :重新编译项目
  • Build Artifacts
  • Analyze APK...

参考:

IntelliJ IDEA的介绍和基本设置 - 程序员大本营

https://jingyan.baidu.com/article/00a07f3873fd0e82d128dc65.html

https://jingyan.baidu.com/article/d621e8da460d5d2865913faf.html

(58条消息) IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(9) Run:启动项目相关的,Run,Debug,……

  1. Run 'Xxx.java'
  2. Debug 'Xxx.java'
  3. Run 'Xxx.java' with Coverage
  4. Run With Profiler
  5. Run...
  6. Debug...
  7. Profile...
  8. Attach to Process...
  9. Edit Configurations...
  10. Stop
  11. Stop Background Processes...
  12. Show Running List
  13. Debugging Actions
  14. Toggle Breakpoint
  15. View Breakpoints
  16. Test History
  17. Import Tests from File...
  18. Show Code Coverage Data
  19. Open Profiler Snapshot 

(9-9-1) Edit Configurations..._Templates_Tomcat Server

参考:

Intellij IDEA 环境 tomcat 启动设置 - 潘氏番茄酱 - 博客园

IDEA配置tomcat 8.5.23_胡椒码农的博客-CSDN博客_idea tomcat配置

【Intellij IDEA】16-编译器设置_bug制造者-CSDN博客

IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

(10) Tools工具(文件作为模板保存,项目作为模板保存,生成javaDoc,……)

(11) VCS版本控制(版本控制相关的)

(12) Window窗体(将当前窗体格式作为默认窗体,激活工具窗体,编辑Tabs,……)

(13) Help帮助(IDEA的使用帮助,注册,检查更新,……)

7 工具栏 

工具栏可通过 View – Toolbar 来控制显示,如下:

 从左至右依次为:

  1. Open:打开文件(File – Open)
  2. Save All:保存全部(Ctrl + S) 
  3. reload all from disk:同步(即检测所有外部改变的文件并从磁盘加载)(Ctrl+Alt+Y)
  4. back: 回退(Ctrl + Alt + 向左箭头)
  5. forward:前进(Ctrl + Alt + 向右箭头)
  6. build project:构建项目:(Ctrl + F9)
  7. select run/debug configuration:当前项目(Run/Debug)运行配置
  8. run:运行项目
  9. debug:Debug模式运行项目
  10. run xxx coverage:代码覆盖率方式运行项目
  11. run xxx java Record:运行Java飞行记录器。Java Flight Record(JFR)是一款优秀的Java应用诊断工具,可在应用程序执行期间收集有关Java虚拟机中特定时间实例中事件(数据片段)的信息。
  12. stop:停止项目运行
  13. AVD manager:AVD管理器(Android开发相关)
  14. SDK manager:SDK管理器
  15. SVN-update project:更新项目,需要项目加入了版本控制(Ctrl + T)
  16. SVN-commit:提交(Commit)项目(Ctrl + K)
  17. SVN-Compare with the Same Repository Version:当前文件与服务器上该文件最新版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
  18. SVN-show history:显示历史操作(commit,merge)
  19. SVN-revert:恢复代码,返回上一版本,可选择性恢复(Ctrl + Alt + Z)
  20. Setting:打开Settings配置界面(Ctrl + Alt + S)
  21. Project Structure:项目结构设置(Ctrl + Alt + Shift + S)
  22. run anything:双击Ctrl键运行任何东西。执行命令:打开项目,启动运行配置,运行Gradle或Maven任务,执行终端命令,等等。
  23. Search EveryWhere:双击shift键查找任何东西。查找类、文件、工具窗口、设置等等。

参考:

        IDEA 2020.1一些简单的面板、菜单栏介绍_敲可耐的我的博客-CSDN博客

        IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

8 导航条 — 在工程中导航,打开编辑文件 

        本章介绍IntelliJ IDEA的用户界面,以便熟悉它的工作环境。当第一次IDEA启动时,或者没有打开的工程时,IDEA显示欢迎界面,可以链接到主要的功能区。当打开一个工程,IDEA展示主界面,如下:

enter image description here

  1. 菜单和工具栏 - 一级菜单和工具栏对应多个命令
  2. 导航条 - 帮助在工程中导航,打开编辑文件。
  3. 状态栏 - 显示工程和整个IDE的状态,以及警告和信息
  4. 编辑器 - 进行代码文件的创建和修改
  5. IDEA工具窗口 - 其它功能的入口(项目管理,查找,运行和调试,版本管理系统等)

参考:

        【IDEA使用说明】用户界面_weixin_34293246的博客-CSDN博客 

9 IDEA状态栏

IDEA的状态栏显示当前IDE的状态,并允许执行一些环境维护命令。

enter image description here

图标说明

图标说明

enter image description here

显示/隐藏左右下的工具条,也可以使用windows的Alt按键

enter image description here

显示所选命令的描述

enter image description here

打开后台任务管理器,当有后台任务时才会显示图标

enter image description here

显示光标所在编辑器的位置,可以单击来移动光标到指定行

enter image description here

将当前按钮设置只读/可写,同命令File->Make File Writable / Read-only

enter image description here

显示并改变当前文件的换行符

enter image description here

显示并改变当前文件的编码

enter image description here

enter image description here

鼠标悬停时显示代码检查配置,点击会跳出编辑面板

enter image description here

enter image description here

信息提示

enter image description here

错误信息提示

enter image description here

显示当前内存使用情况,单击执行垃圾回收

 参考:

        【IDEA使用说明】用户界面_weixin_34293246的博客-CSDN博客

10 你可能会问

(1)指定整个项目的编码格式

(1)web.xml找不到classpath

        (63条消息) idea中web.xml中classpath找不到_码农界的小学生-CSDN博客

        (63条消息) 关于IDEA中的classpath定义_王英豪很ok,的博客-CSDN博客

        IDEA添加配置文件到classpath - 贾树丙 - 博客园 (cnblogs.com)

(1)idea 强制编译 锤子

注:极客时间:《零基础学java》:首先idea会自动帮我们编译。但如果我们不确定idea的自动编译功能是否成功,想强制编译的话,请使用锤子:

 (1)IntelliJ IDEA怎么自动生成get/set方法

        IntelliJ IDEA怎么自动生成get/set方法-百度经验 (baidu.com)

(1)IDEA中手动导包(Alt+Enter)

        IDEA中自动导包快捷键

(2)IDEA中自动导包配置

        IDEA中自动导包快捷键

(1)全局默认/文件/项目的编码方式(utf-8)

        Intellij IDEA 怎么设置项目编码为utf-8-百度经验 (baidu.com)

        IDEA 如何设置全局编码格式-百度经验 (baidu.com)

(3)java项目控制台(run main())怎么打开?

        IntelliJ IDEA控制台怎么打开-百度经验

(4)intellij idea如何设置控制台日志全部显示出来

         intellij idea如何设置控制台日志全部显示出来-百度经验

(5)怎么开启IDEA的Services运行窗口

        怎么开启IDEA的Services运行窗口-百度经验 (baidu.com)

 (6)idea怎么恢复默认窗口布局

        idea怎么恢复默认窗口布局-百度经验

 (7)problems窗口调出

(8)汉化包:IntelliJ IDEA 2020 官方中文版在哪

        中文语言包 - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)

(10)idea如何清理工作空间中的某个项目的缓存(刷新功能-项目/清除项目缓存)

        IntelliJ IDEA 如何清理缓存-百度经验 (baidu.com)       

        IntelliJ IDEA超快的搜索速度和强大的代码提示就是依靠缓存实现的。

        缓存文件很大,建立缓存也很花时间,在建立缓存时如果遇到断电或者强退等问题会导致以后打开文件出错等问题,解决办法就是把以前的缓存清理掉。

        IDEA中的clean,清除项目缓存图文教程_java_脚本之家 (jb51.net)

        熟悉Eclipse的都知道Eclipse经常性的会出现一些莫名其妙的问题,有时候运行的好好的突然重启一下项目就莫名的报错,所以经常会用到clean功能清除项目中缓存重新加载校验。

        IntelliJ IDEA虽然比Eclipse功能上要强大很多,但还是会偶尔抽风的,IDEA并没有clean选项但与之对应的是:File -> Invalidate Caches/Restart ...

        idea中清除tomcat缓存

        解决使用idea开发工具时,js css在浏览器中缓存的问题:

        点击菜单File -> invalidate Caches -> 点击invalidated -> 完成

(11)intellij idea手动清除索引和缓存解决无法打开

        intellij idea手动清除索引和缓存解决无法打开-百度经验 (baidu.com)

(12)如何开启Intellij IDEA的Tips of Day小工具

        如何开启Intellij IDEA的Tips of Day小工具-百度经验 (baidu.com)

 (13)Tip of the Day的使用:养成个好习惯吧

         (63条消息) 关于Tip of the Day_shenshizhong的专栏-CSDN博客

        IDEA Tip of day IDEA小提示 快捷键 - 成魔的蜘蛛 - 博客园 (cnblogs.com)

 (14)创建目录(文件夹)

(15)

 (16)Idea刷新项目代码

(17)idea启动不了

方案1:修改配置文件

        文件位置:IDEA2020版本无法启动问题

        修改方式:idea 2020突然无法启动

方案2:删除配置文件(亲测有效)

        网上很多人说,直接把调用的那个配置文件(idea64.exe.vmoptions)删掉,我删过,是能打开idea,就是得重新破解,所以我又撤销删除,然后通过修改配置文件的方式启动了idea。

        idea 2020突然无法启动

(18)idea如何清晰地查看java类的继承结构(ctrl+H)

        idea如何清晰地查看java类的继承结构-百度经验 (baidu.com)

(19)IntelliJ IDEA 与Eclipse Link with Editor等价功能设置

        IntelliJ IDEA 与Eclipse Link with Editor等价功能设置

(20)idea与eclipse的一般web项目和maven项目source对应

1)  一般web项目:

idea:

 eclipse:(案例:科江 - 一体化平台):

2)  maven项目:

idea:

eclipse:(案例:科江 – iptv):

3)springboot项目:

idea(案例:科江 – 门户):

eclipse: 

(21) idea与eclipse的一般web项目和maven项目部署目录结构设置对比

1)  一般web项目:

idea:

eclipse(案例:科江 – 一体化): 

2)  maven项目:

idea:

eclipse: 

22)IDEA中other settings不见了

IDEA中other settings不见了

参考:

        IDEA中other settings不见了 - 钟小嘿 - 博客园 (cnblogs.com) 

11 提示合集

(1)Cannot access xxx.xxx.xxx.xxx
 
问题描述:
        idea开发,突然出现:同一个包下的java代码,突然飘红,出现红色的波浪下划线,错误提示:cannot access com.xx......xx.class
        思考同一个包下为何会报这个错误,怀疑是idea的问题,google了下发现有人在官网写了反馈,官网人员解答:重启试试。不用多怀疑,idea问题,重启。。。。
亲测发现:有时好使,但有时不生效。
 
根本的解决办法:
        根本原因是IDEA缓存出现问题,可以强制删除缓存
        可以这样做 File > Invalidate Caches /Restart即可清理缓存
        问题解决!

参考:

        解决idea报错 "cannot access class - 王小森# - 博客园 (cnblogs.com)

(2)Loaded classes are up to date. Nothing to reload
这不是错误:
        首先那个不是错误提示,而是一个普通消息,告诉你的服务器中的内容已经是最新(class、js、资源等等),也就是你在你的编辑器上实时修改已经同步到tomcat中了。访问不了的话,你可以检查一下你的Deployment中的Application Context配置,通常是配置一个/


解决方法:(网上借鉴):
        降低JDK的版本
        重新配置本地Tomcat
        把所有的debug的断点去掉,重新编译即可

参考:

        IDEA:Loaded classes are up to date. Nothing to reload

        idea maven项目debug启动报Loaded classes are up to date, nothing to reload,但不影响启动, 对应解决方法 - 简书 (jianshu.com)

(3)Cannot resolve symbol 'String/XXX'

方案1:亲测 降低idea的版本到2018.3.5

方案2:3种方式

        idea Cannot Resolve Symbol 问题解决 - 由良大小姐 - 博客园 (cnblogs.com)

        (63条消息) IDEA Cannot Resolve Symbol 问题的解决方法汇总_xiaodi824的博客-CSDN博客

方案3:清空了本地maven库(将本地仓库中的jar删掉,重新下载),idea清空了缓存,重新down了项目和maven库,project structure重选了jdk然后就好了

        求大神帮忙解决idea cannot resolve symbol 问题-CSDN论坛

方案4:清除idea缓存并重启

        IDEA 红线显示显示 鼠标移过去后提示 Stringcannot resolve symbol “String”,但我的编译正常啊。

IDEA 红线显示显示 鼠标移过去后提示 Stringcannot resolve symbol “String”,但我的编译正常啊。_百度知道

(4)Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA

IDEA报Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA

是我jetty配置问题,因为我用不到jetty,所以暂时删除了jetty相关的配置。 

(5)Error:java: 无效的源发行版: 11 

(6) Frameworks Detacted - Web framework is detected -  Configure(dljd)

        这个窗口没用,idea要去检测,关掉就行了。

(7) cannot resolve property key

参考:

        IDEA中配置数据源xml文件出现“cannot resolve property key”错误解决方法

(8) org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ssm.dao.UserMapper.selectByPrimaryKey

<build>

        <resources>

                <resource>

                        <directory>src/main/java</directory>

                                <includes>

                                        <include>**/*.xml</include>

                                </includes>

                </resource>

                <resource>

                        <directory>src/main/resources</directory>

                </resource>

        </resources>

</build>

参考:使用IDEA整合Spring和Mybatis,报出org.apache.ibatis.binding.BindingException:Invalid bound statement

(9) 使用@Autowired报错Could not autowire. There is more than one bean of 'ProductClient' type.

参考:使用@Autowired报错Could not autowire. There is more than one bean of 'ProductClient' type

(10) idea的mybatis的xml文件总是报警告SQL dialect is not configured 

参考:

        idea的mybatis的xml文件总是报警告SQL dialect is not configured 

(11) class path resource [mapper/] cannot be resolved to URL because it does not exist

参考:

        Spring Cloud项目启动失败:class path resource [mapper/] cannot be resolved to URL because it does not exist

12 其他参考 

        IntelliJ IDEA 中文官方文档 - ApacheCN - 博客园

        IntelliJ IDEA的菜单栏与工具栏_w3cschool

        史上最简单的 IntelliJ IDEA 教程_CG国斌的博客-CSDN博客_idea

        IntelliJ IDEA使用教程 (总目录篇)_请叫我大师兄-CSDN博客 

        IDEA 快捷键拆解系列(四):View 篇_happyJared-CSDN博客_idea view

        judasn/IntelliJ-IDEA-Tutorial

        IDEA新手使用教程(详解) - 泰斗贤若如 - 博客园

        IntelliJ IDEA 面板、菜单介绍_const_-CSDN博客_idea菜单栏

        Eclipse转Intellij IDEA简单介绍 - 程序员大本营

        【IDEA使用说明】用户界面_weixin_34293246的博客-CSDN博客

        IDEA的页面功能设置_城南花已开-CSDN博客_idea界面设置

        IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人。_请叫我大师兄-CSDN博客

        2020最完整的IDEA插件大全, 还不知道这些,你就out了! - 哔哩哔哩

        2020史上最全IDEA插件总结(推荐收藏)

        167条你没见过的IDEA操作技巧(英文文档加翻译)

        SSM框架整合(Spring + SpringMVC + Mybatis + Maven + IDEA)

        访问方式:http://localhost:8080/ssm1_war_exploded/user/QueryUser.do?id=1000

        Maven搭建SpringMVC+Mybatis项目详解

        实例演示如何以全注解的方式搭建SSM(Spring+SpringMVC+Mybatis)项目

        SpringMvc+Spring+MyBatis 基于注解整合

        最近在给学生们讲Spring+Mybatis整合,根据有的学生反映还是基于注解实现整合便于理解,毕竟在先前的工作中团队里还没有人完全舍弃配置文件进行项目开发,由于这两个原因,我索性参考spring官方文档研究出完全基于注解整合ssm框架。毕竟无配置化也是Spring官方所推行的,要不SpringBoot存在的意义为何嘛

        

        JavaWeb-Spring中各个jar包的作用

八 下载、安装、破解、中/英官网

  IntelliJ IDEA 注册码 (lanyus.com)(动力节点)

(1)微信公众号:Java技术迷

(2)idea2020.3:

      第一步:进入:https://shimo.im/docs/VYTcjGWCCPvXYqGy/read —— IntelliJ IDEA 2020.2.3永久破解激活教程

      第二步:进入:https://shimo.im/docs/qctkkyThpTgtKpPW/read —— idea2020.3激活码最新破解教程(亲测有效)

      第三步:下载插件:

                        获取插件

                        网盘下载链接:

                        链接: https://pan.baidu.com/s/1BHdAujj27e23zSYTe5NlIA

                        提取码: h58g

                        便会得到文件夹中的激活补丁 ~

(3)附:IntelliJ IDEA下载地址:IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains

参考:

        IntelliJ IDEA 下载、安装、破解及卸载 - Susie\ - 博客园(我测有效)

        IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains(官网首页)

        IntelliJ IDEA:JetBrains 功能强大、符合人体工程学的 Java IDE(官网中文版 - 谷歌)

        Configure projects | IntelliJ IDEA        (官网教程 - 谷歌)

九 链式资源

1 idea和eclipse比较

        intelij idea 和 eclipse 使用上的区别 - 龙桑 - 博客园

        idea和eclipse比较_prince~home-CSDN博客 

        Eclipse转Intellij IDEA简单介绍 - 程序员大本营

2 lombok

        史上最全Lombok——看这篇就够了_乖乖的傻蛋的博客-CSDN博客

3 classpath指的是哪个目录

        java项目中Classpath路径到底指的是哪里?_GoodIdea-CSDN博客

        web.xml文件中classpath路径指的哪个路径_u011277123的博客-CSDN博客_xml文件中的classpath

在Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别_学习笔记-CSDN博客

4 狗破解

        SpringMVC4.2.4中文文档 PDF-狗破解-Go破解|GoPoJie.COM

        登录方式:aiwokache QQ邮箱 123456@a

5 htm        l转chm / chm转中文 / 如何生成api帮助文档chm文档?/chm、pdf、word相互转换 

        网页转换成CHM电子书(htm2chm)下载3.0.9.3 绿色汉化版-西西软件下载        

         总结的Javadoc转换chm帮助文档的四种方法 - 百度文库

        [Windows] CHM快速汉化工具2.0(已更新)

        CHM快速汉化工具下载-CHM快速汉化工具官方正式版下载[电脑软件]-天极下载

        CHM 制作教程 (全文中文搜索解决方法)

        3款不错的CHM文件制作软件_最后一个BUG留给我-CSDN博客

6 spring boot + vue — 网上项目

建议PC端打开,微信直接打不开文档地址哦

项目地址:

项目基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由

文档地址:EL-ADMIN 在线文档

备用文档: https://doc.el-admin.xin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值