Idea报错:Command line is too long. Shorten command line for className
问题描述
使用Idea运行项目在项目启动时报错:
Command line is too long. Shorten command line for XXXApplication or also for Spring Boot default configuration.
问题分析
这种异常的出现是因为运行项目的指令过长引起的,在IDEA进行代码运行时加载了很多指令,这些指令拼接后的长度超出了系统的最大长度,当你的命令行长度超过 32768 个字符时,idea就会提示你使用短一点的命令行。
大家可以在运行项目是看一下console输出的第一行日志,一般就是你的运行conmand
问题解决
方式一:
在idea的.idea/workspace.xml中开启动态路径。
在workspace.xml中的
<component name="PropertiesComponent">条目下添加属性
<property name="dynamic.classpath" value="true" />
可以使idea在执行通过动态路径去寻找项目路径,具体的实现原理,但是可以查看idea社区版的源码。
方式二:
在项目配置的运行参数配置中可以选择短命令行运行即Shorten command line
依次执行run–>edit configurations–>你的项目–>configuration–>Environment
在此条目下选择Shorten command line默认选择的是user-local default:none
这里有三个选项:
none
classpath file
jar manifest
此处可以选classpath file或者jar manifest运行项目也可解决此问题
写在最后
当改了配置后我们可以看一下我们的conmand line情况
D:\work\jdk1.8.0_101\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:57607,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:C:\Users\jonas\AppData\Local\JetBrains\IntelliJIdea2020.2\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath C:\Users\jonas\AppData\Local\Temp\classpath1326103414.jar com.xxx.service.order.admin.ServiceOrderAdminApplication
1
可以看到应用启动的时候是有加载jmx的,我这里把jmx关一下,看一下是否能正常运行。
运气不错,关闭jmx后,项目运行起来了,但是运行的conmand line的长度真的是让人感动,之前那还怀疑真的会有那么长的命令行么,还真的有,以下为默认的启动命令行。
D:\work\jdk1.8.0_101\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:57826,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -javaagent:C:\Users\jonas\AppData\Local\JetBrains\IntelliJIdea2020.2\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "D:\work\jdk1.8.0_101\jre\lib\charsets.jar;D:\work\jdk1.8.0_101\jre\lib\deploy.jar;D:\work\jdk1.8.0_101\jre\lib\ext\access-bridge-64.jar;D:\work\jdk1.8.0_101\jre\lib\ext\cldrdata.jar;D:\work\jdk1.8.0_101\jre\lib\ext\dnsns.jar;D:\work\jdk1.8.0_101\jre\lib\ext\jaccess.jar;D:\work\jdk1.8.0_101\jre\lib\ext\jfxrt.jar;D:\work\jdk1.8.0_101\jre\lib\ext\localedata.jar;D:\work\jdk1.8.0_101\jre\lib\ext\nashorn.jar;D:\work\jdk1.8.0_101\jre\lib\ext\sunec.jar;D:\work\jdk1.8.0_101\jre\lib\ext\sunjce_provider.jar;D:\work\jdk1.8.0_101\jre\lib\ext\sunmscapi.jar;D:\work\jdk1.8.0_101\jre\lib\ext\sunpkcs11.jar;D:\work\jdk1.8.0_101\jre\lib\ext\zipfs.jar;D:\work\jdk1.8.0_101\jre\lib\javaws.jar;D:\work\jdk1.8.0_101\jre\lib\jce.jar;D:\work\jdk1.8.0_101\jre\lib\jfr.jar;D:\work\jdk1.8.0_101\jre\lib\jfxswt.jar;D:\work\jdk1.8.0_101\jre\lib\jsse.jar;D:\work\jdk1.8.0_101\jre\lib\management-agent.jar;D:\work\jdk1.8.0_101\jre\lib\plugin.jar;D:\work\jdk1.8.0_101\jre\lib\resources.jar;D:\work\jdk1.8.0_101\jre\lib\rt.jar;D:\work\payment\service-order-admin\target\classes;D:\work\maven\repository\org\springframework\boot\spring-boot-starter-actuator\2.3.1.RELEASE\spring-boot-starter-actuator-2.3.1.RELEASE.jar;D:\work\maven\repository\org\springframework\boot\spring-boot-starter\2.3.1.RELEASE\spring-boot-starter-2.3.1.RELEASE.jar;D:\work\maven\repository\org\springframework\boot\spring-boot-starter-logging\2.3.1.RELEASE\spring-boot-starter-logging-2.3.1.RELEASE.jar;D:\work\maven\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\work\maven\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\work\maven\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;D:\work\maven\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;D:\work\maven\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;D:\work\maven\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\work\maven\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;D:\work\maven\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.3.1.RELEASE\spring-boot-actuator-autoconfigure-2.3.1.RELEASE.jar;D:\work\maven\repository\org\springframework\boot\spring-boot-actuator\2.3.1.RELEASE\spring-boot-actuator-2.3.1.RELEASE.jar;D:\work\maven\repository\io\micrometer\micrometer-core\1.5.1\micrometer-core-1.5.1.jar;D:\work\maven\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;D:\work\maven\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-starter-config\2.2.3.RELEASE\spring-cloud-starter-config-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-starter\2.2.3.RELEASE\spring-cloud-starter-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-context\2.2.3.RELEASE\spring-cloud-context-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\security\spring-security-rsa\1.0.9.RELEASE\spring-security-rsa-1.0.9.RELEASE.jar;D:\work\maven\repository\org\bouncycastle\bcpkix-jdk15on\1.64\bcpkix-jdk15on-1.64.jar;D:\work\maven\repository\org\bouncycastle\bcprov-jdk15on\1.64\bcprov-jdk15on-1.64.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-config-client\2.2.3.RELEASE\spring-cloud-config-client-2.2.3.RELEASE.jar;D:\work\maven\repository\com\fasterxml\jackson\core\jackson-databind\2.11.0\jackson-databind-2.11.0.jar;D:\work\maven\repository\com\fasterxml\jackson\core\jackson-core\2.11.0\jackson-core-2.11.0.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-starter-netflix-eureka-client\2.2.3.RELEASE\spring-cloud-starter-netflix-eureka-client-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-netflix-hystrix\2.2.3.RELEASE\spring-cloud-netflix-hystrix-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-netflix-eureka-client\2.2.3.RELEASE\spring-cloud-netflix-eureka-client-2.2.3.RELEASE.jar;D:\work\maven\repository\com\netflix\eureka\eureka-client\1.9.21\eureka-client-1.9.21.jar;D:\work\maven\repository\org\codehaus\jettison\jettison\1.3.7\jettison-1.3.7.jar;D:\work\maven\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;D:\work\maven\repository\com\netflix\netflix-commons\netflix-eventbus\0.3.0\netflix-eventbus-0.3.0.jar;D:\work\maven\repository\com\netflix\netflix-commons\netflix-infix\0.3.0\netflix-infix-0.3.0.jar;D:\work\maven\repository\commons-jxpath\commons-jxpath\1.3\commons-jxpath-1.3.jar;D:\work\maven\repository\joda-time\joda-time\2.3\joda-time-2.3.jar;D:\work\maven\repository\org\antlr\antlr-runtime\3.4\antlr-runtime-3.4.jar;D:\work\maven\repository\org\antlr\stringtemplate\3.2.1\stringtemplate-3.2.1.jar;D:\work\maven\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;D:\work\maven\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;D:\work\maven\repository\org\apache\commons\commons-math\2.2\commons-math-2.2.jar;D:\work\maven\repository\com\netflix\archaius\archaius-core\0.7.6\archaius-core-0.7.6.jar;D:\work\maven\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;D:\work\maven\repository\com\netflix\servo\servo-core\0.12.21\servo-core-0.12.21.jar;D:\work\maven\repository\com\sun\jersey\jersey-core\1.19.1\jersey-core-1.19.1.jar;D:\work\maven\repository\com\sun\jersey\jersey-client\1.19.1\jersey-client-1.19.1.jar;D:\work\maven\repository\com\sun\jersey\contribs\jersey-apache-client4\1.19.1\jersey-apache-client4-1.19.1.jar;D:\work\maven\repository\org\apache\httpcomponents\httpclient\4.5.12\httpclient-4.5.12.jar;D:\work\maven\repository\org\apache\httpcomponents\httpcore\4.4.13\httpcore-4.4.13.jar;D:\work\maven\repository\commons-configuration\commons-configuration\1.10\commons-configuration-1.10.jar;D:\work\maven\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\work\maven\repository\com\google\inject\guice\4.1.0\guice-4.1.0.jar;D:\work\maven\repository\javax\inject\javax.inject\1\javax.inject-1.jar;D:\work\maven\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\work\maven\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.11.0\jackson-dataformat-xml-2.11.0.jar;D:\work\maven\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.11.0\jackson-module-jaxb-annotations-2.11.0.jar;D:\work\maven\repository\org\codehaus\woodstox\stax2-api\4.2\stax2-api-4.2.jar;D:\work\maven\repository\com\fasterxml\woodstox\woodstox-core\5.3.0\woodstox-core-5.3.0.jar;D:\work\maven\repository\com\netflix\eureka\eureka-core\1.9.21\eureka-core-1.9.21.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-starter-netflix-archaius\2.2.3.RELEASE\spring-cloud-starter-netflix-archaius-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-netflix-archaius\2.2.3.RELEASE\spring-cloud-netflix-archaius-2.2.3.RELEASE.jar;D:\work\maven\repository\org\springframework\cloud\spring-cloud-starter-netflix-ribbon\2.2.3.RELEASE\spring-cloud-starter-netflix-ribbon-2.2.3.RELEASE.jar;D:\work\maven\repository\com\netflix\ribbon\ribbon\2.3.0\ribbon-2.3.0.jar;D:\work\maven\repository\com\netflix\ribbon\ribbon-transport\2.3.0\ribbon-transport-2.3.0.jar;D:\work\maven\repository\io\reactivex\rxnetty-contexts\0.4.9\rxnetty-contexts-0.4.9.jar;D:\work\maven\repository\io\reactivex\rxnetty-servo\0.4.9\rxnetty-servo-0.4.9.jar;D:\work\maven\repository\io\reactivex\rxnetty\0.4.9\rxnetty-0.4.9.jar;D:\work\maven\repository\com\netflix\ribbon\ribbon-core\2.3.0\ribbon-core-2.3.0.jar;D:\work\maven\repository\com\netflix\ribbon\ribbon-httpclient\2.3.0\ribbon-httpclient-2.3.0.jar;D:\work\maven\repository\com\netflix\netflix-commons\netflix-commons-uti
原创不易,完成人机校验,阅读全文