• 认真地记录技术中遇到的坑!
  • 能摸鱼真是太好啦!嘿嘿嘿!

IDEA遇到问题解决方法

Java 悠悠 5年前 (2019-11-02) 15397次浏览 2个评论

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 CompilerCompiler 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内容

  1. 设置鼠标移动到类上自动显示JavaDoc
    > Settings -> General -> Show quick documentation on mouse move
  2. 下载JavaDoc的JDK
    > File -> Project Structure -> Platform Settings -> SDKs -> 第二个+ -> https://docs.oracle.com/javase/8/docs/api/

转载请注明出处 IDEA遇到问题解决方法
喜欢 (20)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 厉害,感谢感谢
    overload2020-11-02 11:20 回复
  2. 大佬流弊,非常感谢
    mrbbbbbb2020-05-14 10:23 回复