iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Command line is too long
  • 247
分享到

Command line is too long

intellij-ideajavaspringboot 2023-09-07 15:09:35 247人浏览 独家记忆
摘要

目录 一、遇到的问题 二、使用环境 三、问题分析 四、解决方案 1、解决方式一 2、解决方式二 一、遇到的问题 上周五,我要改造一个之前从未接触过的 SpringBoot 项目。我用 git 拉下代码后,试图使用 idea 运行它。但是

目录

一、遇到的问题

二、使用环境

三、问题分析

四、解决方案

1、解决方式一

2、解决方式二


一、遇到的问题

上周五,我要改造一个之前从未接触过的 SpringBoot 项目。我用 git 拉下代码后,试图使用 idea 运行它。但是,Idea 在运行时抛出了一个问题:Error running 'Application': Command line is too long. Shorten command line for Application or also for Application default configuration?

该问题一般会在新项目或者从未接触过的项目上出现。虽然网上有很多的解决方案,但很多解决方案都已经过时。并且这些方案也没有讲清问题的原因,所以我打算先用一个简单的 springBoot 项目模拟出该问题,再解决它,这样就很容易分析该问题。我觉得有必要写一篇文章记录这个过程,也可以帮助到遇到该问题的开发者。

24511bd83466435591485d3a62c3ce71.png

二、使用环境

我使用的操作系统windows, Idea 的版本是:IntelliJ IDEA 2020.3.1 (CommUnity Edition)

如果你遇到了该问题,先看一下你使用的 Idea 是多少版本的。2017.3 及以后的版本都可以使用该方法解决问题,如果你是 2017.3 之前的版本,我建议你升级 Idea ,尽量使用新版本的 Idea 。

31cc4dbcb9d84090897f9f33ac1a6d22.png

三、问题分析

我先问一个问题,在 Idea 中点击运行按钮后,Idea 会调用哪些命令?

当我们点击运行程序的按钮,Idea 会先调用 javac 命令编译程序,再调用 java 命令运行程序。

现在,分析一下错误:Error running 'Application': Command line is too long 。这个错误说的很明确,运行程序时报错,命令行太长了,而运行程序的命令就是上面说的 java 命令。最后的结论是,运行 java 的命令行太长。一般来说,操作系统有命令行长度限制,超过限制的长度就会执行失败。

下面来证明我的结论,在 Idea 中运行程序,控制台中打印的第一行日志如下图中红框所示:

99c207fe856148cca0e35d37a083d8ac.png

c3ace0edaf9949af92f59d3f6a740d73.png

该行日志就是使用 java 命令运行程序,点开后可以看到后面跟有 -javaagent、classpath 等参数。如果 classpath 中包含的 jar 包过多,可能导致命令行过长。

四、解决方案

既然知道了是 java 命令行太长,导致运行程序失败。只要缩短命令行就可以解决该问题,Idea 2017.3 之后的版本提供了缩短命令行的配置。如下有两种解决方式,方式一和方式二的原理一样,都是配置缩短命令行。方式一和方式二的区别在于方式一是按步骤配置,方式二是快速配置。

1、解决方式一

先打开 Run/Debug Configurations 面板。再点击 Modify options ,选择 Shorten command line ,再选择 JAR manifest 或者 classpath file 就可以解决问题。

示意图如下所示:

216a686158654ad3a2686893f1745cd0.png

cf5940edee494b9cb9af6240fda85eba.png

eed2c76870ac4b34bdf4fa237ab3e446.png

2、解决方式二

如果你的 Idea 弹出报错信息如下图所示,直接点击蓝色的 JAR manifest 或者 classpath file 可以快速配置,再次运行程序就不会再报错了。

c48e91c839154d8a974ebe4bb9ccdc6e.png

来源地址:https://blog.csdn.net/keyboard_/article/details/127722234

--结束END--

本文标题: Command line is too long

本文链接: https://www.lsjlt.com/news/398434.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作