idea启动报错:Command line is too long问题
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属性。
重新启动即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot整合SSO(single sign on)单点登录
这篇文章主要介绍了SpringBoot整合SSO(single sign on)单点登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06
Spring Boot中使用JDBC Templet的方法教程
这篇文章主要给大家介绍了关于在Spring Boot中使用JDBC Templet的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2018-03-03
Spring Boot 配置文件类型properties 格式与yml 格式
这篇文章主要介绍了Spring Boot 配置文件类型properties 格式与yml 格式,文章围绕主题展开详细内容,具有一定的参考价值,需要的小伙伴可以参考一下2022-05-05


最新评论