各种开发工具使用与问题

开发工具问题

IDEA 控制台输出的tomcat日志乱码

tomcat/conf/下的logging.properties文件中的java.util.logging.ConsoleHandler.encoding = utf-8修改为java.util.logging.ConsoleHandler.encoding = GBK

IDEA开发工具

开发工具实用功能

  • 查看方法/属性调用链,第三方包可以下载后查看调用链
  • 查看内存调用栈帧Frames
  • 查看线程Threads

旧JavaWEB项目启动

  • Tomcat6.0 根据需要添加servlet_2.5.jar
  • Modules/Facets添加Struts、web.xml、WebResourceDirectory(工程目录/WebRoot)
  • Libraries添加相应jar包
  • Artifacts的Available Elements选择工程右键添加classes等

IDEA安装Lombok

File–>Settings–>Plugins–>Marketplace–>搜索lombok–>install。 重启IDEA

Idea开启annotation processing: File–>Settings–>Build,Ececution,Deployment–>Compiler–>Annotation Processors–>勾选 Enable annotation processing–>Apply

DEBUG

通过debug查询详细调用链
通过分析工具查看类依赖关系图
调试可以通过错误提示信息搜索到对于代码位置进行断点查看调用链

debug中key右键Frames中的方法,Copy Stack复制调用链

下载源码搜索功能

点击右侧Maven→下载代码按钮,没下载源码部分在源码包里面的代码没办法直接搜索
IDEA可以ctrl+shift+r选择scope Project and Libraries查询包中的方法

关联现有SVN

VCS菜单→Enable Version Control Integration…→Subversion
右键工程→Subversion→Share Directory…

IDEA启动多个相同项目

Run/Debug Configurations → 复制一个配置 → Override parameters:添加server.port=8085

DUMP

4:runDump Threads Ctrl+Pause/Break 查看线程Dump,内容信息可以点击打开查看详情,查找正在运行的线程
Attach Debugger debugger中分析
servicesGet Dump Threads

通过Export to Text File 再通过线程名字就可以搜索到对应的线程信息非常好用

maven 打包 skip test

maven配置→Runner→勾选Skip tests
或者命令执行是用-Dmaven.test.skip=true 或者 -DskipTests
或者POM文件中加skip
或者maven的install界面中有一个跳过测试的闪电按钮

查看字节码

  1. 安装jclasslib插件 运行。view→show Bytecode With jclasslib,点击里面方法可以看到字节码
  2. 直接view → show bytecode 信息不全
  3. javap -v 类名 不好用效率低

查看汇编代码

  1. hsdis-amd64.dll hsdis-amd64.lib 将两个文件放在你的 jre/bin 路径下的路径里
  2. 去idea 去配置启动参数VM Options: -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly,*ClassName.method*后面配置成自己的 “类名.方法名”)
  3. JRE选择刚刚放置文件的jre路径
  4. 运行程序,会打印出相关汇编代码

生成.iml

  1. 刷新一下Maven Project就会自动生成.iml文件
  2. 在缺少.iml文件项目下运行mvn idea:module

注意

  1. 不要重复引人依赖。
  2. 不要引入冲突的包。
  3. 重启idea试试。

Visual Studio Code

乱码问题:可以安装GBKtoUTF8插件或者Reopen with Encoding