苦海漂流记

编程入门 行业动态 更新时间:2024-10-28 10:34:58

苦海<a href=https://www.elefans.com/category/jswz/34/1763267.html style=漂流记"/>

苦海漂流记

都闪开,老衲要普渡众生——持续跟新,记录一些简单而好笑的东西,专治各种头疼


一、idea相关

1. 明明添加了所有依赖,程序却跑不起来,报错读不到配置文件

(编号:201803292303)

2. 项目依赖的文件太多,导致命令行太长

(编号:201807092011)

建议选择JAR manifest选项,而不是classpath file

  • 前者是将用到的jar包都写在一个临时包的MANIFEST.MF文件里。
  • 后者是将用到的jar包都写在一个临时文件里,传递给idea的一个代理去启动。
    相比之下,JAR manifest选项更“常规”,不依赖于idea,所以建议使用。classpath file可能会使VM options失效或异常。

3. java目录下的配置文件(*.xml, *.properties等),无法自动拷贝到编译目录——IDEA 不自动复制资源文件到编译目录 classes 的问题

(编号:201807110916)
根本原因:idea有自己标准的目录结构和build程序的逻辑,如果你的项目不符合idea的规范则不可以使用idea直接Run,而是需要修改gradle文件建立自己的build逻辑,然后让idea使用gradle去build和Run。或者就要修改工程,使其满足idea的规范。
关于这个问题的讨论,《解决 IDEA 中src下xml等资源文件无法读取的问题》一文中的第四种方法流传甚广,但是本人在实施后没有效果。第一种方法,可以根治,但是要改变现有的目录结构。
于是找到了另外一个变通的方法,亲测可用:

  1. 在对应微服务的gradle文件中添加以下代码:
processResources {from(sourceSets.main.allSource) {exclude("**/*.java")}
}
  1. 在设置中,把IDE运行项目的方式设置为:委托gradle运行。(但是,注意:在勾选了此选项后,可能会出现另一个问题,程序不能正常的停止或重启。也就是说,如果出现了:“你明明修改了程序逻辑,重启之后,却感觉还是在运行以前的逻辑”这种情况,你需要1. 手动清理掉idea的编译目录(out目录);2. 手动通过任务管理器杀死原来的程序进程,再重新启动。)
  2. 有一点需要注意的是,2中的设置是全局设置。当你需要运行符合idea规范的项目但是不符合gradle规范时,需要再取消掉2中的选项。这也就意味着如果你在同时维护多个项目,而多个项目中有的符合idea规范,有的不符合,你在运行不同的项目时,可能需要对2中的设置来回进行切换。

4. idea为当前项目添加gradle支持

(编号:201807110916)
idea从git上clone代码之后,工程中是默认是没有gradle支持的,需要自己手动添加一下,步骤如下。

  1. 在工程的右侧打开gradle工具栏,点击“+”号,选择当前的项目中的settings.gradle文件,点击确定;
  2. 在弹出的Import Module from Gradle对话框中,对gradle进行设置,一般选择以下选项,然后点击确定即可。
    • Use auto-import
    • using explicit module groups
    • Create separate module per source set
    • Use local gradle distribution
    • Gradle home选择本地的gradle路径
    • Gradle JVM选择Use Project JDK

5. IDEA打开大型项目时运行缓慢

(编号:201808311043)
解决方法:调大IDEA的内存即可注意:本方法会占用系统更多的内存,请在系统资源充足的情况下使用
步骤:

  1. IDEA配置文件的路径:用户路径{$USER\.IntelliJIdea2018.1\config}和安装路径C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.5\bin
  2. 去上面的2个路径分别下寻找2个文件(共4个文件,一般是用户路径下的文件生效,具体哪个生效是配置在安装路径下的idea.bat文件里的VM_OPTIONS_FILE变量):idea.exe.vmoptionsidea64.exe.vmoptions
  3. 把文件中的几个内存参数调大一点即可,我的配置如下:

-Xms256m
-Xmx2048m
-XX:ReservedCodeCacheSize=480m

  1. 如果不想去寻找配置文件,有一个简便方法,打开idea,点击Help->Edit Custom VM Options,可以直接打开正在使用配置文件。

6. IDEA: 遇到问题Error during artifact deployment. See server log for details.

(编号:201904020953)
参见:《IDEA: 遇到问题Error during artifact deployment. See server log for details.详解》

7. idea的设置会覆盖日志配置文件中root的日志级别

(编号:201905281853)
如果开启了idea的debug选项,就会使log4j2.yaml中root的level失效,不管配置文件中设置的什么级别,都会按debug级别处理。

日志级别生效的优先级排序:
thresholdFilter的level > IDEA的Enable debug output > log4j2.yaml中root的level


二、Tomcat相关

1. Tomcat日志乱码(idea启动Tomcat日志乱码)

(编号:201903261711)
解决办法:Tomcat起服务控制台乱码问题,原文摘录如下。

  1. 找到tomcat/conf/logging.properties;
  2. 重新设置这个属性:java.util.logging.ConsoleHandler.encoding = GBK;
  3. 重启tomcat,查看日志数据即可.

三、Chrome浏览器相关

1. 同一款浏览器,同一个网站,在其它机器上显示正常,在自己的机器上显示不正常,或者某些链接打不开

(编号:201808291016)
最可能的原因:被某个“广告拦截插件”给拦截了网站的部分功能或请求
(有人说,浏览器的版本也会影响显示,但实际上,浏览器出于兼容性的考虑,同一时代的版本在显示上并不会有太大差别)
建议:使用拦截器的同学,使用黑名单(只拦截指定的网站),而不是白名单(拦截所有网站,只放行指定网站);使用白名单容易发生误拦截

四、vue系列相关

1. 使用vue devtools调试时,出现莫名其妙的报错,导致页面卡死;关掉vue devtools就没问题了。

(编号:201908272237)
如果你遇到了类似下面的报错:

Uncaught TypeError: Cannot read property 'path' of nullat VuexBackend.replayMutations (backend.js:1308)at VuexBackend.onInspectState (backend.js:1026)at Bridge.emit (backend.js:6074)at Bridge._emit (backend.js:5897)at backend.js:5822at Array.forEach (<anonymous>)at backend.js:5822at listener (backend.js:3215)

请在vue devtools的settings中,关掉New Vuex backend好么?相信我,这个功能就tm的是个sb!!!(我的vue devtools版本是5.1.1)

五、Navicat相关

1. 在Navicat中创建存储函数

如果遇到这个的报错,具体原因参见:《存储函数与存储过程的区别》

解决办法:可以选用下面的两个方法中的一个。

在高级选项卡中,

  1. 勾选上决定性这个选项
  2. 在数据访问的下拉菜单里选择NO SQL或者READS SQL DATA

更多推荐

苦海漂流记

本文发布于:2024-03-07 06:32:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717083.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:苦海   漂流记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!