IDEA报错:Command line is too long Shorten command line for xxx or also for JUnit default configuration

目录

  • 原因分析
  • 解决办法
    • 1. 方案一:修改IDEA
    • 2. 方案二:修改.idea/workspace.xml

原因分析

出现此问题的直接原因是:IDEA集成开发环境运行项目源码的时候,是通过命令(首行那个非常非常长的)来启动Java进程的。这个命令主要包含两大部分:
vm/程序参数。也就是你看到的那些-XX -D等参数,这部分理论上可以无限长但实际上一般不会太长
-classpath参数,它用于指定运行时jar包路径(因为jar包理论上是可以在任何地方的),这部分可能性就多了
关键就在于-classpath参数,它可以非常长,你依赖的jar包越多此路径就越长;你的base基路径越长它就越长;倘若你还要做复杂的Junit单元测试,那加入的jar包就更多长度可能就越长喽。总的来说:此part是很有可能超长从而导致Command line is too long现象的。
如果类路径太长(可能性大),或者您有许多VM参数(可能性小),则无法启动该程序。原因是大多数操作系统都有命令行长度限制。在这种情况下,IDEA将提供尝试缩短类路径的能力。


解决办法

1. 方案一:修改IDEA

位置导航:小锤子旁边,下拉:Edit Configurations->configuration->shorten command line
从对话框中选择(我的不生效,有的同事可以,没仔细研究)

2. 方案二:修改.idea/workspace.xml

  1. 找到idea的项目空间下的 .idea/workspace.xml
  2. 编辑器打开并找到如下
    <component name="PropertiesComponent">
    	...
    </componet>
    
  3. 在其中加入
    <property name="dynamic.classpath" value="true"/>
    
  4. 保存并重启idea
  5. 有可能不生效,再次修改重启

你可能感兴趣的:(#,Throws,Exception,intellij-idea,java,ide)