IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line...(上)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line...(上)

前言


最近遇到两个问题,都是关于IDEA的(言外之意和代码无关),很是让我“生气”呀(关键是浪费时间)。在痛定思痛后,我决定写此专栏,来专门分享/记录使用IntelliJ IDEA过程中遇到的那些奇葩问题和解决方案,以帮助你缩短日常排错时间,这么一思考好像还功德无量呢😄。


IntelliJ IDEA作为Java开发者中最为流行的开发工具(eclipse粉勿喷),熟练掌握它(包括排雷)对提升编码效率能有显著提升。但工具毕竟是工具,这么长时间使用IDEA以来,每个人或多或少的都遇到过关于IDEA七七八八、奇奇怪怪的问题,这些与代码舞棍,但它很容易偷走你的时间,半天又更或者是一天之久。


说明:千万不要忽视对IDEA的研究,因为把它玩熟练了它就相当于你的物理外挂


本专栏内容并非 IDEA教程,而是着眼于分享IDEA使用过程中,那些我遇到(或者大家遇到)的但又不是能够很快速解决,总之就是比较棘手的问题的汇总,有一种错题本的意思有木有。总之就是希望它能够帮助到大家迅速定位or解决问题,避免不必要的时间浪费,毕竟咱们的主业还是敲代码嘛~


版本约定

本文内容若没做特殊说明,均基于以下版本:


  • IntelliJ IDEA:2020.1.2旗舰版


正文


使用IDEA这么久,虽然之前时不时地的跟IDEA问题“交过手”,但真正促使我决定写此专栏的原因还是源自于前两天使用IDEA启动Spring Boot程序时的这个报错:


Error running 'Application': Command line is too long. Shorten command line for Application or also for Spring Boot default configuration.


image.png


说实话这个错误我前所未见,看起来还蛮有意思,因此决定研究一番。这不,把研究结果分享给大家,信息共享。


为了解释好这个问题,我们得先来做些功课,知晓写概念。


控制台首行路径


在IDEA里,你每次启动一个main函数时,控制台第一行输出的“日志”称作为:控制台首行路径。这里,我运行一个最最最简单的程序,看看它长啥样,程序如下:


public class Application {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

运行程序,控制台输出如下截图:


image.png


相信小伙伴每天都能看见它但大概率不会注意到它,我也不例外。你想不到的是,恰巧这行“日志”就成为了本文今天的主角,会围绕它来展阐述。


特别说明:如果你是用外置tomcat驱动应用启动的话效果不是这样子的。因为它使用的是tomcat的脚本来启动,所以首行日志形如这样:D:\developer\apache-tomcat-9.0.34\bin\catalina.bat run


首行路径内容


知道了什么叫首行路径,那么它的内容才是我们要关心的。如上截图中,细心的你会发现最后是...省略号,因此内容绝不止你现在看到的那么简单。你可以鼠标点击一下,展开全部内容,截图如下:


image.png


一行实在太长了,无法横向截图全部展示出来,因此我把它复制出来放在文本编辑器中查看:


image.png

这个截图是一行哦(只是我在文本编辑器了自动折行了而已),仍旧不能看到全部内容,因为字数真的太多了,总字数统计如下:


image.png


仅仅一行,字数超过26000个。咋舌吧:第一行控制台“日志”竟然输出了超过2.6w个字符。从内容结构上来看,这是一个command命令:调用java.exe程序启动一个java进程的命令。


为何启动抛错Command line is too long


99.99%的情况下,你可以在IDEA里正常启动你的应用,即使首行路径很长很长。但是直到当我启动我的这个Spring Boot应用时,弹出红色提示:


image.png


直接禁止了我的running运行。提示内容中文释义为:运行“Application”时出错:命令行太长。缩短应用程序或Spring Boot默认配置的命令行。我相信如果你也是第一次见到此case,表情和我一样是这样的:


main方法都启不动了,那还得了。遇到这种情况,我只能使用百度大法(谷歌大法)了:


image.png

一看能搜出这么多结果,我也就不慌了,按照“教程”很容易的把问题解决了。另外呢,通过此次搜索到的结果聊两句题外话:


  1. 虽然Result Count不少,但是我发现实质上内容几乎一毛一样,真乃天下文章一大抄
  2. 访问量并不代表文章质量高,只是它刚好命中了关键字而已,比如标题党


我得出如此感悟,也是促使我写本文的原因之一。因为A哥的文章一贯如此,是有些B格的。接下来以点带面,把这部分内容帮大家展开展开,解决问题并非最终目的,而是为了:记得牢,能装x,一切为了加薪。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5月前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之遇到“OSERROR: argument list too long”的错误,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
64 1
|
5月前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
78 0
|
6月前
|
Java
Intellij IDEA运行报Command line is too long的解决办法
Intellij IDEA运行报Command line is too long的解决办法
419 1
|
6月前
四种解决”Arg list too long”参数列表过长的办法
这些方法都可以帮助你避免因参数列表过长而导致的错误。选择方法取决于具体情况和需求。
267 0
Error running Application. Command line is too long.
【2月更文挑战第2天】Error running Application. Command line is too long. 问题处理
|
Java
IDEA-解决Command line is too long. Shorten command line for SpringBootMainApplication or also for App
IDEA-解决Command line is too long. Shorten command line for SpringBootMainApplication or also for App
85 0
|
6月前
|
JSON JavaScript 前端开发
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
584 0
|
6月前
|
编译器 C语言
c语言中long的作用类型
c语言中long的作用类型
174 0
|
27天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
31 3
|
26天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
37 1

热门文章

最新文章

下一篇
无影云桌面