目录
1 配置
2 常用快捷键
3 安装插件
4 使用Maven创建web项目
5 使用Maven导入依赖
6 Maven创建项目后缺少文件夹
7 Tomcat LocalHost Log消失
8 EL表达式无效
9 Project 和 Module
10 ${XXX.version}无效
11 xml文件报错
12 配置数据源时报错应该是javax类型
13 IDEAJava设置注释模板
14 导入新项目时依赖下面有红线
15 下载依赖速度慢
16 代码提示少
17 查看类图
18 编译时报错不能使用diamond预算符
19 出现 Usage of API documented as @since 1.8+
20 断言不起作用
1 配置
ideaJava每次创建一个新的web项目就需要重新配置Tomcat,配置完Tomcat后还要导入Tomcat的包,可百度如何导入外部包,完成后应该如下图所示
![](https://i-blog.csdnimg.cn/blog_migrate/e37703a5b04206c915583fb2aba30bda.png)
后来仔细研究后发现之所以还要配置是因为我一个开始就没有选择webapp项目直接module了一个项目。
2 常用快捷键
Alt+Insert,可以生成构造器/Getter/Setter等
Ctrl+O,重写方法
Ctrl+Alt+O,优化导入的类和包
Ctrl+Shift+Space,自动补全代码
Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch
Ctrl+Enter,导入包,自动修正
Alter+Enter 抛出异常,光标移动到该处
psvm,main方法
F2 快速定位到下一个错误代码处
Shift + F2 快速定位到上一个代码错误处
知道类名查找类: Ctrl
+Shift
+Alt
+N
;
在类中查找某一个方法:
1 使用 ctrl+F12打开类中所有方法的界面
2 然后直接键盘中输入方法名称或者方法包含的字母,会自动模糊匹配相关方法名
查看类的关系图:
在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:
3 安装插件
LeetCode中可以安装许多有用的插件方便编写代码:阿里的代码规范、LeetCode插件等。阿里的安装完后直接重启便可以使用,LeetCode需要先配置一下
![](https://i-blog.csdnimg.cn/blog_migrate/a73697854befce8f3b2ee1b8b4c1ed37.png)
![](https://i-blog.csdnimg.cn/blog_migrate/20a4629c343fd1d170350e204f44db6a.png)
配置完成后如上图所示。给出GitHub链接:https://github.com/shuzijun/leetcode-editor/blob/master/README_ZH.md
完成后感觉这个插件用处不大。。。。。。
4 使用Maven创建web项目
![](https://i-blog.csdnimg.cn/blog_migrate/107cae44ddd13e4b9b99d344ff8619fd.png)
注意maven3.3.6.9版本以上使用jdk1.8。好像在右下角选择Enable Import就可以没有这么多事了。。。直接添加Tomcat服务器然后如下图就可以了。
![](https://i-blog.csdnimg.cn/blog_migrate/107cae44ddd13e4b9b99d344ff8619fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/92905f751f41772b720a0a063e0b187d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cef1dcace489bb58a491e5adba107e82.png)
选择本地版本
![](https://i-blog.csdnimg.cn/blog_migrate/04744f99ea905fe2149e2eb740139902.png)
next finish即可。需要注意的是上面的quickstart只是一个基础的骨架,如果要创建一个web项目需要选择webapp,注意不要选择红色标注的哪一个。
![](https://i-blog.csdnimg.cn/blog_migrate/53f242e85c2b1dcc17831fa48fecbf1c.png)
当创建完项目后需要配置Tomcat:有一点要注意一定要保证maven项目创建完后才可以配置Tomcat否则会造成某些文件缺失的。
![](https://i-blog.csdnimg.cn/blog_migrate/f11fd01275b4b2826aa550a62f7502da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6fe74de4d528c194fbc0f045089ec7e3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/544249cbd97d4d1dbb914f2be822b7bb.png)
在1处自己随便命名,2处点击fix
![](https://i-blog.csdnimg.cn/blog_migrate/ff2c05efdf208564708c5aa07eb62904.png)
修改路径为:src\main\wepapp后面才要接web.xml或者其他什么路径设置完成后点击apply
![](https://i-blog.csdnimg.cn/blog_migrate/19a5cd1bb9316e8c36a89d0a83a6abbc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/be3c734eaf05f28eb449dd0ce1295521.png)
完成设置后添加项目名
![](https://i-blog.csdnimg.cn/blog_migrate/d8b8ed4155cc6edbec9f98a64048b045.png)
![](https://i-blog.csdnimg.cn/blog_migrate/169ca35e480b977cb604bb879759edbc.png)
当配置完成后就可以编写页面了,对页面要配置页面的编码格式否则会出现乱码的,即把下面的代码放在jsp文件第一行即可
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
注:创建 一般的Java项目就没这么麻烦:
![](https://i-blog.csdnimg.cn/blog_migrate/a1e3055da3958406eb98f103e1633ec0.png)
直接点击next,不用勾选什么,直接输入后面输入项目名字即可。
5 使用Maven导入依赖
在浏览器输入:mvnrepository.com然后搜索要导入的包即可
![](https://i-blog.csdnimg.cn/blog_migrate/c82f15fa9fd295aa2dab1bf23952a719.png)
然后复制Maven下面的的定位,粘贴在pom.xml中
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
6 Maven创建项目后缺少文件夹
按照上面4简单创建完mave项目后可能会缺少一些文件夹,正常文件夹如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/d669b7c2d580797334b09db7969a4c2a.png)
对于java是源文件,先创一个普通文件夹为java然后设置为源文件,右键设置为Source Root 这里是已经设置好了
![](https://i-blog.csdnimg.cn/blog_migrate/498ae2512bb976016635b7cdf7047540.png)
resource应该设置为Resource Root,此外缺少test这些按照上面操作即可。
7 Tomcat LocalHost Log消失
IdeaJava中发现Run Tomcat时控制台信息消失了,重新配置了窗口也不行,后来才发现是因为鼠标一直拉这个让它最小化,才导致消失了
![](https://i-blog.csdnimg.cn/blog_migrate/05bf3bbabeeeb88a7d9dc9cdd89a58b4.png)
8 EL表达式无效
要在page页面设置一下EL表达式
<%@ page isELIgnored="false"%>
9 Project 和 Module
在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module,一个Project可以有多个Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模块之间彼此可以相互依赖。通过这些Module的命名可以看出,它们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系。因此,我们可以大致总结出:一个Project是由一个或多个Module组成。
(1)当为单Module项目的时候,这个单独的Module实际上就是一个Project;
(2)当为多Module项目的时候,多个模块处于同一个Project之中,此时彼此之间具有互相依赖的关联关系。
此外, IntelliJ IDEA 的Project是一个不具备任何编码设置、构建等开发功能的概念,其主要作用就是起到一个项目定义、范围约束、规范类型的效果,或许,我们也可以简单地理解Project就是一个单纯的目录,只是这个目录在命名上必须有其代表性的意义。在缺省情况下,IntelliJ IDEA 是默认单Project单Module的,这时Project和Module合二为一,在没有修改存储路径的时候,显然Project对Module具有强约束作用!不过说实话,这里就是将Module的内容放在了Project的目录下,实际上还是Module自己约束自己。
由以上可知当需要创建一个复杂的项目时一般先创建一个Project然后在该项目下创建多个Module。
10 ${XXX.version}无效
有可能是两种原因:(1)因为复制粘贴过来的,程序可能内部出错了,此时方法最简单直接重启即可。也可以选择清除缓存重启。(2)有可能是因为父类没有配置好,此时是配置的问题需要仔细检查一下。
11 xml文件报错
在写配置文件时:xmlns:mvc="http://www.springframework.org/schema/mvc" 这句话一直报错标注红线,检查了好久并没有发现什么问题,最后忽略了这个配置,不报错了然而下面的class有报错显示找不到该class。胡乱配置了一通把<bean class=""/>这个标签里的类给搞的不知道怎么回事反正不正常了,又回不去默认配置,没办法重装了IDEA,重装之后就正常了。可能问题有:是不是我装了一些其他的插件导致内部出问题了,装了有阿里巴巴的代码规范和LeetCode的代码插件;或者是因为我没配置好但不太可能啊我检查了好几遍,也许是复制粘贴的没检查出来,反正这次事件后就开始考虑在能破解的范围内尽可能用最新的软件了。
12 配置数据源时报错应该是javax类型
在配置SSM数据库时在配置session工厂时提示配置的类型应该是javax类型,仔细研究后发现javax是jdk自带的数据类型现在报错有能是jdk没有配置好,果然对项目重新配置了jdk版本后就正常了。
13 IDEAJava设置注释模板
设置类模板
![](https://i-blog.csdnimg.cn/blog_migrate/bc80ff490bc93b5cb2c363eb1a30ce85.png)
/**
* @title: ${NAME}
* @projectName ${PROJECT_NAME}
* @description: TODO
* @author ${USER}
* @date ${DATE}/${TIME}
*/
14 导入新项目时依赖下面有红线
![](https://i-blog.csdnimg.cn/blog_migrate/f977e318628ddb1ac1b4d307e44084d2.png)
按照下图修改即可。
![](https://i-blog.csdnimg.cn/blog_migrate/9337d5f8edcd2518119548e5595a2fe7.png)
备注:(1)当在新环境中使用maven时一定要先安装maven,在命令行查看maven -version看是否安装好,maven只支持jdk1.8版本以上的,对于版本太低的也不行。
(2)对于直接拷贝的项目最好不要直接import因为项目会从main文件下寻找依赖,拷贝的项目本地main为空自然就出错了因此要用open。
按照上面的配置发现又有错误了,编译项目出错,具体报错情况如下:
Error:Maven Resources Compiler: Maven project configuration required for module 'oa_web' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE.
![](https://i-blog.csdnimg.cn/blog_migrate/e2147b18b425f56d203b7d2444e034f4.png)
下面两个是为了解决导入依赖下面有红线时问题的解决方法,为了验证是否真的是因为下面maven仓库的问题,我选择了把它恢复为初始设置又重新导入了一下项目,发现正常,这说明不是因为仓库位置的问题。事实证明这三个选择哪一个都无所谓的,我在Maven home选择了本地的D盘下的安装路径也没有报错,这就说明不是这些的问题。事实上MavenHome是配置Maven路径,setting.xml是配置的仓库下载地址和下载资源的网站,最后一个则是本地仓库地址。
右键出错的module,选择rebuild即可解决。
![](https://i-blog.csdnimg.cn/blog_migrate/87f6060de9ca647c1f8b43ea74c83846.png)
结合上面的分析,当有红线时可能是没有自动创建项目,需要勾选自动创建,创建时可能有些module会报错,需要rebuild一下即可。
15 下载依赖速度慢
下载慢是因为直接从国外官网下载的,修改一下设置即可,在项目设置中选择本地Maven覆盖默认的setting,在本地Maven的conf中新建一个settings.xml如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors> <!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository
</name> <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
16 代码提示少
代码提示少是因为默认设置中是对大小写敏感度,因此要取消敏感,那么代码提示就会变的很多了。
![](https://i-blog.csdnimg.cn/blog_migrate/dc0a6217445cfdd24883e7b62de7afff.png)
17 查看类图
右键选择即可。
![](https://i-blog.csdnimg.cn/blog_migrate/f5b87aaf52824245a6d83acefb1af4b9.png)
注:
(1)在类图中可能会发现放大后字体模式这是可以调整字体,即设置整个代码显示的字体
(2)类图不能根据拖动自动调用这些因为布局的问题,一般默认的都不行,选择Circular布局即可。
··
![](https://i-blog.csdnimg.cn/blog_migrate/142e9e8ad62af9f658c79da6f4222e31.png)
18 编译时报错不能使用diamond预算符
报错信息如下:Error:(16, 60) java: -source 1.5 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)
解决方法: 1 选择 File --> project Structure --> Modules,选择项目修改 “Sources” 选项卡下的 “Language level” 及 “Dependencies”选项卡下的 “Module SDK
![](https://i-blog.csdnimg.cn/blog_migrate/045ba87164f3eeed3229ac2d1c9def23.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a410515e32e511d67efd43bfa6f609d1.png)
2 修改Java Compiler
File --> Settings --> Build,Execution,Deployment --> Compiler --> java Compiler
![](https://i-blog.csdnimg.cn/blog_migrate/a551d2c707d707a72aab1405474a1786.png)
19 出现 Usage of API documented as @since 1.8+
报错信息:
Usage of API documented as @since 1.8+
This inspection finds all usages of methods that have @since tag in their documentation.
This may be useful when development is performed under newer SDK version as the target platform for production.
出现原因:
出现该问题的原因是由于使用了JAVA8的新特性,但是Language Level(最低可支持的版本)比较低,无法支持这些特性。比如设置的Language Level为6.0,可是却使用了8.0/9.0的新特性,6.0无法解析这些特性,因此IDE会报错来提醒我们。
解决方法:
如果对最低支持版本有要求,没办法改动的话,那就只能放弃使用报错部分的代码。 如果对支持版本没有要求的话,可以改动IDE的Language Level来消除错误。
法1. 使用ctrl+shift+alt+S,打开Project Structure,选中侧边栏的Modules,在Sources窗口中修改Language Level(必须大于等于报错信息给出的level)。
法2. 在pom.xml中添加配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
20 断言不起作用
IDEA中的断言是默认关闭的,需要手动打开
![](https://i-blog.csdnimg.cn/blog_migrate/c90cdd2aef56ac158d1d3ee0b016c4a9.png)
0
![](https://i-blog.csdnimg.cn/blog_migrate/af5d169cdba107160c2c04fb65583565.png)