IDEA版本为:IntelliJ IDEA 2018.2 (Ultimate Edition)
有时当我们使用IDEA,Run/Debug一个SpringBoot项目时,可能会启动失败,并提示以下错误。Error running 'XXXApplication': Command line is too long. Shorten command line for XXXApplication or also for Spring Boot default configuration.意思是错误运行某程序:命令行太长。为某程序或为Spring Boot默认配置缩短命令行。如下图:
出现这种报错的原因是类路径太长或者VM参数太多以致超过了操作系统命令行长度限制。
我们可以通过选择Run/Debug Configurations下的Shorten command line,缩短命令行的方式解决这个问题。
如上图,IDEA有四种缩短命令的方式:
User-local default:对于IntelliJ IDEA 2017.3之前版本创建的项目,此遗留选项将自动设置。IntelliJ IDEA将根据ide/workspace.xml和idea .config.path/options/options.xml文件中设置的属性配置此设置。
none:IntelliJ IDEA不会缩短长的类路径。如果命令行超出操作系统限制,IntelliJ IDEA将无法运行应用程序,并将显示一条消息,建议您指定缩短方法。
JAR manifest:IntelliJ IDEA将通过临时classpath. jar传递一个长的类路径。原始类路径在清单文件中定义为classpath.jar中的类路径属性。请注意,如果使用此方法缩短了命令行,那么您将能够预览完整的命令行,而不仅仅是临时classpath.jar的类路径。
classpath. file:IntelliJ IDEA将把一个长类路径写入一个文本文件。
选择JAR manifest和classpath. file方式都可以。
使用JAR manifest方式可以看到,类路径只有一个临时创建的jar,我们可以点击蓝色部分看到完整的类路径命令行。
本质是IDEA在下面目录下创建一个临时的jar。该jar中只有一个MANIFEST.MF文件,其中的Class_Path的属性值就是完整的类路径。
使用classpath.file方式可以看到如下。