IDEA使用java开发时一个奇葩问题
使用Idea运行项目在项目启动时报错:
Command line is too long. Shorten command line for XXXApplication or also for Spring Boot default configuration.
本来以为就是Command line is too long.的问题,结果只能用
问题分析
这种异常的出现是因为运行项目的指令过长引起的,在IDEA进行代码运行时加载了很多指令,这些指令拼接后的长度超出了系统的最大长度,当你的命令行长度超过 32768 个字符时,idea就会提示你使用短一点的命令行。
大家可以在运行项目是看一下console输出的第一行日志,一般就是你的运行conmand依次执行run–>edit configurations–>你的项目–>configuration–>Environment
但是解决每次都要单个配置,每次使用都要单个配置junit那么多岂不是要配四
但是在idea的.idea/workspace.xml中开启动态路径。这个方法不行,因为项目没有.idea文件
寻找半天发现问题解决(写在最后)
问题解决
方式一:
在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的长度真的是让人感动,之前那还怀疑真的会有那么长的命令行么,还真的有,以下为默认的启动命令行。
可以看到默认的启动时会把所有依赖jar报的路径也加上,这个真的是可怕。
解决办法
因为项目是从svn下载的,导入时项目文件夹是在一个总文件夹中,而编写代码时只显示项目文件夹,
但是.idea在总文件夹中,要么
方法1.重新导入文件以项目文件夹导入idea,idea会自动创建.idea。但是这样又得重新配置项目相关project Structure,那岂不是要配四
方法2.看图
改即可。
IDEA使用java开发时一个奇葩问题相关推荐
- Java:使用 Java 开发的一个异常处理框架
Java:使用 Java 开发的一个异常处理框架 参考文章: (1)Java:使用 Java 开发的一个异常处理框架 (2)https://www.cnblogs.com/happyframework ...
- java 开发swt_一个java swt桌面程序开发到打包的总结(1)(收集)
--概述与关于swt的问题 一.概述: 几天一直在用金山打字通练习英语(本人英语比较烂),把金山打字能里面的文章全部掠了N遍.打的没意思了,想想怎么能添加一些外部文件,发现金山打字通自带的外部文件导入 ...
- VS启动项目时一个奇葩问题
[前言] 最近一段时间在快速开发一个产品:时间非常的宝贵,前两日遇到一个问题,折腾一段时间才搞好的:出现这个问题有很多种情况,在此分享一下我遇到这种情况,有遇到的朋友可以参考一下. [奇葩的经历] ...
- 常用DOS命令(jAVA开发时大多数用不到)
最常用的命令 cd 改变当前目录 sys 制作DOS系统盘 copy 拷贝文件 del 删除文件 deltree 删除目录树 dir 列文件名 diskcopy 制磁盘 edit 文本编辑 forma ...
- java开发定义一个好的变量名
如何定义一个好的变量名 在日常编程中最烦恼的就是给变量取名,一段好代码,既要能完美地运行,还要能较容易地维护.这就意味着需要让日后维护代码的人能很快地看懂你的代码,而且,在团队合作中,其他开发者也会经 ...
- 使用JAVA开发了一个雷霆战机小游戏^_^
本程序使用Myeclipse开发,编码为UTF-8. 本程序实现的主要功能有玩家飞机的控制.玩家飞机子弹发射.敌机移动.敌机子弹发射.boss飞机的折线运动.boss飞机的子弹发射.玩家飞机和boss ...
- java开发时遇到的错误
1. 各种莫名其妙的错误,但是 看意思自己确实做了 比如:找不到main方法呀,但是确定已经写了 解决方式 保存一下看看! 2. (不影响运行)XML首行报错: Referenced file con ...
- java开发岗位认识_身为一个java开发人员对目前java开发的一些小小的认识
为什么要学java? 第一要工作,第二想要高薪 首先身为java开发工作人员你的思想认知程度要搞,思想认知程度决定你的专业技能水平 JavaSE工程师 B/S 架构 ---- 浏览器 ...
- linux java 构建工具有哪些,Linux ant --强大的Java开发构建工具
用途说明 ant严格说来,ant其实并非原生的Linux命令,但它是一个使用广泛.功能强大的跨平台构建工具程序,尤其是进行Java开发时,许多开源的Java项目都使用ant作为构建工具.ant命令一般 ...
最新文章
- LSTM之父:吐槽了两年,来划划重点:“这5篇最高引论文都源于我们。”
- 李永乐线性代数2020年基础课手写笔记汇总
- 3月16日学习内容整理:metaclass
- c语言的那些小秘密pdf下载,C语言的那些小秘密之函数的调用关系.pdf
- tcp窗口滑动以及拥塞控制
- c语言编程判断素数的函数,【面试题】C语言:实现一个函数,判断一个数是不是素数。...
- python 只去除英文_如何使用 Python 制作词云(Word Cloud)-英文词云篇
- 生信宝典Linux学习系列文章整理
- 聚类算法详解——深度AI科普团队
- 人生路上对我影响最大的三位老师浅谈师生关系
- codeforces 816 E. Karen and Supermarket(树形dp)
- Python写数据结构:二叉树的性质
- Scrapy 导出的 cvs 文件,双击打开乱码问题
- java雪花算法实现
- 【托马斯微积分11版---英文】读书笔记:前言--未完待续
- 传智播客黑马程序员Java学习笔记(一)
- chm打不开怎么办?
- win10自带录屏工具
- Linux笔记本 安装 qq/TIM/微信/百度网盘......解决方案
- 与200位专家相约,看国内外最新研发经验