IDEA-解决Command line is too long. Shorten command line for SpringBootMainApplication or also for App
问题复现:今天在使用IDEA启动一个开源项目的时候,报了一个错误。具体错误内容如下:
Error running ‘Application’:Command line is too long. Shorten command line for SpringBootMainApplication or also for Application
问题分析错误原因:看报错的那段英文,可知是命令行太长的原因导致SpringBoot和整个应用无法成功启动,那为什么会报这样一个错误呢?
错误分析:其实IDEA底层是通过命令行或者文件的方式将classpath传递到Java的JVM虚拟机上的,而大多数的操作系统都会有命令行的最大长度限制,超过这个限定值时就会导致IDEA无法启动当前程序。
错误解决:当命令行长度大于32768个字符时,将IDEA切换到动态类路径。长类路径被写入文件,然后由应用程序启动器读取并通过系统类加载器加载。
具体解决步骤Step1:找到项目目录下的.idea\workspace.xml文件具体位置如下图所示:
Step2:找到workspace.xml文件下的Prop ...
利用nvm安装npm失败的解决办法
最近发现在安装nodejs后,想使用npm发现自己的电脑上没有安装npm,可是网上都说安装了nodejs后会自动安装npm,找了很久解决办法发现没有合适的解决办法,于是自己尝试了很久发现了问题所在。在用nvm安装最新nodejs的时候,发现会安装npm失败,提示如下:
提示:Downloading npm version 6.9.0… Download failed. Rolling Back.Rollback failed. remove C:\dev\nvm\temp\npm-v6.9.0.zip: The process cannot access the file because it is being used by another process.Could not download npm for node v12.2.0.
解决办法:第一种办法(建议直接使用第二种办法,简单粗暴):找到nvm文件夹下的setting.txt
在下面添加新的下载地址,上面四行不用动
12node_mirror: http://npm.taobao.org/mirrors/node/np ...
WebSocket is already in CLOSING or CLOSED state. 报错信息的解决方案
背景 近期在对 【GatewayWorker】的开发过程中 注意到,当客户端长时间没有反应时,会发生 WebSocket 自动断开的情况 在此,提供一个使用定时器的解决方案 …
【分析原因】
首先,对于这种报错信息的提示,我们小小百度下就很容易明白问题所在 可以参考这一篇文章 : WebSocket断开原因、心跳机制防止自动断开连接
其次,定位的知识点便是开发手册上的讲解 —— 【心跳检测】
【解决步骤】
第一步、首先,根据前面的手册介绍,我在服务端补充了如下的代码:
1234// 心跳间隔$gateway->pingInterval = 57;$gateway->pingNotResponseLimit = 1; // 代表客户端必须定时发送心跳给服务端$gateway->pingData = '';
第二步、在客户端创建 连接及定时器核心代码如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 ...
解决npm或pnpm:无法加载文件C:/Users/hp/AppData/Roaming/npm/cnpm.ps1因为在此系统上禁止运行脚本
在运行命令的时候,使用pnpm或者npm出现此错误
1234567pnpm : 无法加载文件 C:\Users\HP\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 1 - pnpm - ~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
解决方法
点击左下角开始,找到Windows PowerShell,点击右键找到更多,找到以管理员身份运行
输入命令:set-ExecutionPolicy RemoteSigned 然后回车选择:输入A选择全是,或者输入Y选择是 都可以的接着重新启动然后去运行就可以了
docker启动失败:Failed to start Docker Application Container Engine.
Docker官方仓库的速度会比较慢,可以配一个官方的中国加速镜像
方法是:修改 /etc/docker/daemon.json 加上如下的键值:
123{ "registry-mirrors": ["https://registry.docker-cn.com"]}
然后重启docker即可
但是重启却报错,根据提示查看docker服务状态,Failed to start Docker Application Container Engine.
解决方法:
daemon.json文件中采用缩进可以,但是不能出现空格,重新加载daemon.json配置,然后重启就可以成功。
Unable to establish SSL connection.的SSL问题
解决加上参数:
加上跳过验证证书的参数–no-check-certificate
有些网站不允许通过非浏览器的方式进行下载,使用代理既可以解决问题,加上代理的参数:–user-agent=”Mozilla/5.0 (X11;U;Linux i686;en-US;rv:1.9.0.3) Geco/2008092416 Firefox/3.0.3”
完整的命令如下:
1wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh --no-check-certificate
vim/vi编辑时遇到E325: ATTENTION Found a swap file by the name './.backu.sh.swp'警告提示解决办法
一、问题描述前些天在修改Redis配置文件redis.conf时遇到了警告提示代码:
12E325: ATTENTION Found a swap file by the name "./.backu.sh.swp"
如图所示:
问题描述:
12345678910111213141516171819202122E325: ATTENTIONFound a swap file by the name "/etc/redis/.redis.conf.swp" owned by: root dated: Wed Feb 5 16:57:08 2020 file name: /etc/redis/redis.conf modified: YES user name: root host name: Floret process ID: 1286While opening file "/etc/redis/redis.conf" ...
Nacos 配置使用 @Value 取值
Nacos 被越来越多的项目使用,我们微服务中也开始使用 Nacos 来做配置。
##使用 @Value 获取配置时不能实时刷新在使用中,我们可以用 @Value 来获取 Nacos 中的配置,如下
12345678@RefreshScope@RestControllerpublic class TokenController { @Value("${login.username}") private String userName; @Value("${login.password}") private String passWord;
IDEA 'Cannot resolve symbol'如何解决
Cannot resolve symbol ‘EnableCustomConfig’出现此类报错点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。里面有让勾选的,实在不知道就全部勾选起来自动重启,就可以解决问题了
java中字段与关键字、标识符冲突的问题
当业务要求的字段与关键字、标识符发生冲突时,java不能识别这个为字段,此时需要把这个字段更名,然后给这个字段做一个别名,这样,就可以使用这个关键字的字段了
12@JsonAlias(value = {"package"})private String packages;
12@JsonAlias(value = {"业务要用的字段"})private String 字段更名;