IDEA自动清除无效import
清除无效import的快捷键:
Alt + Enter
Ctrl + Alt + O
自动清除无效import配置方法:
Settings -> Editor -> General -> Auto Import -> Optimize imports on the fly
勾选上即可,会自动清除所有无用的包。
使用idea一次性清理所有java文件中多余导入未使用的包,首先ctrl+alt+s打开设置界面,
Settings -> Editor -> General -> Show "Optimize Imports" dialog
Version Control -> Commit Dialog -> Optimize imports
IDEA单元测试Junit Coverage报错
问题描述
正常的单元测试没有问题,但是一旦Run With Coverage就报错:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.coverage.main.CoveragePremain.premain(CoveragePremain.java:66)
... 6 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.intellij.rt.coverage.instrumentation.Instrumentator.premain(Instrumentator.java:64)
... 11 more
FATAL ERROR in native method: processing of -javaagent failed
解决方法
IDEA选择下面的菜单:
Help -> Edit Custom VM Option
如果没有会提示新建,在最后添加下面一行,目录可以随意,但是一定要存在。
-Djava.io.tmpdir=C:\Develope\software\IntelliJ IDEA 2019.1.2\temp
重启IDEA就可以Run With Coverage了。
Command line is too long
问题记录
运行Spring等项目的时候,启动不了,IDEA提示Command line is too long
。
解决办法
修改项目根目录下的.idea\workspace.xml
,找到标签<component name="PropertiesComponent">
,
在标签中增加一行: <property name="dynamic.classpath" value="true" />
编译报错 Java heap space
问题记录
IDEA编译时很慢,一直卡在writing classes
,然后报错:java.lang.OutOfMemoryError: Java heap space
.
解决办法
可以通过修改编译配置,增加编译时分配的堆栈大小解决。
打开设置: File -> Settings -> Build,Execution,Deployment -> Compiler
修改Build process heap size(Mbytes)
: 修改为1024或者2048.
另外还要修改ActionScript & Flex Compiler
的Compiler heap size
调整为2048.
修改换行缩进
默认为缩进8个空格,可以改为4个。
File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents -> Continuation indent
修改值Continuation indent
为4即可。
IDEA多个子模块无法识别
当加载包含多个子模块的项目时。IDEA旧模块导致,重新导入。
- 大量子模块中的文件报错:找不到相应的包
- 子模块文件夹没有粗体显示
- 右上边栏Maven显示灰色
这些都是因为IDEA没能够识别子模块导致,需要手动导入一下。方法:
在右边栏Maven灰色的子模块点击+
号,添加子模块的的pom.xml文件。
或者project settiing -> modules 中一次就可以添加所有模块
IDEA查看一个类的所有继承关系,包括父类或子类
可以找到右键类 -> Diagrams -> Show Diagrams,在弹出的框中选择Java Class Diagrams
可以看到所有的父类继承关系图。
另外可以选择菜单 Navigate -> Type Hierarchy,在右边会出现一个层级关系列表,可以查看所有父类或子类。
IDEA HQL标红
在Spring Dao层使用 HQL 的过程中,IDEA会标红,可以通过以下的方法添加 HQL 的语法检查,并且能够通过 HQL 进行跳转。
File -> Project Structure -> Modules -> 右键某个模块 -> Add -> Hibernate
IDEA鼠标移动到类上显示Javadoc内容
- 设置鼠标移动到类上自动显示JavaDoc
> Settings -> General -> Show quick documentation on mouse move - 下载JavaDoc的JDK
> File -> Project Structure -> Platform Settings -> SDKs -> 第二个+ ->https://docs.oracle.com/javase/8/docs/api/