IDEA报错:Command line is too long Shorten command line for xxx or also for JUnit default configuration
Posted 人生大事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA报错:Command line is too long Shorten command line for xxx or also for JUnit default configuration相关的知识,希望对你有一定的参考价值。
目录
原因分析
出现此问题的直接原因是: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
- 找到idea的项目空间下的 .idea/workspace.xml
- 编辑器打开并找到如下
<component name="PropertiesComponent"> ... </componet>
- 在其中加入
<property name="dynamic.classpath" value="true"/>
- 保存并重启idea
- 有可能不生效,再次修改重启
idea报错Error running $classname: Command line is too long. Shorten command line for $classname.
之所以出现这个原因是一般是因为打印的环境变量太长了,超过了限制,可以尝试以下方案:
1.按照提示修改该类的配置,选择jar manifest(每个报错的类都需要注意设置,项目的.idea/workspace.xml有这个选项,可以修改默认值,这样就不用每次更改)
2.在项目的.idea/workspace.xml文件中,找到 <component name="PropertiesComponent">
,添加一行<property name="dynamic.classpath" value="true" />
3. 若还是没有解决,
以上是关于IDEA报错:Command line is too long Shorten command line for xxx or also for JUnit default configuration的主要内容,如果未能解决你的问题,请参考以下文章
idea报错Error running $classname: Command line is too long. Shorten command line for $classname.
idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错
idea报错:Error running $classname: Command line is too long. Shorten command line for $classname.(示例代码
Intellij IDEA运行报错Command line is too long的处理解决方法
解决: Intellij IDEA 运行报错 Command line is too long
Idea运行报错Error running ‘Application‘: Command line is too long的解决方法