idea启动报错:Command line is too long问题
作者:勞業炟
在使用IDEA时,若遇到"Commandlineistoolong"错误,通常是因为命令行长度超限,这是因为IDEA通过命令行或文件将classpath传递至JVM,操作系统对命令行长度有限制,解决方法是切换至动态类路径,通过修改项目的workspace.xml文件
idea启动报错:Command line is too long
idea启动项目报错如上:
这是因为命令行太长的原因导致SpringBoot和整个应用无法成功启动。
问题分析
其实IDEA底层是通过命令行或者文件的方式将classpath传递到Java的JVM虚拟机上的,而大多数的操作系统都会有命令行的最大长度限制,超过这个限定值时就会导致IDEA无法启动当前程序。
错误解决
当命令行长度大于32768个字符时,将IDEA切换到动态类路径。
长类路径被写入文件,然后由应用程序启动器读取并通过系统类加载器加载。
我们可以将项目修改成动态加载项目路径
首先找到对应项目的workspace..xml文件
其次找到文件中的PropertiesComponent组
在其中添加
<property name="dynamic.classpath" value="true" />
修改完成之后,可以重启项目。
如何仍然不行
可以进行以下操作
找到idea的配置启动类的位置,点击edit configuration选项
即可查看当前页面
按照项目需求更改对应的JRE信息,并修改shorten command line配置。
"shorten command line"配置项通常用于软件开发工具或者编译器中,用来指定一种机制,以缩短生成的可执行文件的命令行长度。
具体来说,"shorten command line"配置项通常用于编译器或链接器的命令行工具中。
通过设置这个配置项,开发者可以指示编译器或链接器在构建可执行文件时采取特定的策略来缩短命令行长度,以避免"Command line is too long"等错误。
- 1.路径简写:将长路径简写成相对路径或者其他更短的路径表示方式。
- 2.参数合并:将多个相同类型的参数合并成一个,以减少命令行长度。
- 3.使用文件列表:将参数列表保存到一个文件中,然后在命令行中使用文件列表的方式传递参数。
- 4.符号链接:对于需要传递的大量文件或目录,可以使用符号链接来代替实际路径。
方法二
如果以上方法不适用 可以使用以下方法:
点击edit configuration
修改shorten command line属性为 JAR manifest属性。
重新启动即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。