idea
idea中maven依赖jar拉不下来
在一个工程中始终拉不下来,换一个工程就能正常拉取,查看idea日志:
日志路径:/Users//Library/Logs/IntelliJIdea2019.2/idea.log
你可以这么找某些程序的日志路径
-
打开活动监视器
-
这里出现的东西其实就是该程序所依赖的所有文件,所以肯定可以找到,可以粘贴到文本处理工具中,以idea.log为关键字进行搜索。
打开日志后发现这样一句错误
|
|
提示“无法在脱机状态下访问”
想起来自己之前对idea做过一些设置,打开菜单栏,file -> setting ,找到maven查看,右侧有一个work offline,取消掉勾选。保存退出,重新下载。
选择右侧maven,重新加载,Reimport!!ok,解决问题。
这里主要记录自己的解决方法,仅供大家学习参考。
java: Compilation failed: internal java compiler error
还有一种情况是因项目过大,需要修改这个堆的大小 解决方法如下: 在setting–>Build,Execution,Deployment–>Compiler 中找到build process heap size(Mbytes):700改为1024(视情况而定)
idea遇到奇怪问题for example: not eligible for auto-proxying
报错信息
中文意思: for example: not eligible for auto-proxying 例如:不符合自动代理的条件
解决办法
也有可能是其他不正常的断点勾选引起的,只要保留正常的断点勾选即可,当然也可以删除不需要的断点
错误原因分析
一般是因为debug启动,有请求进入断点,此时又将服务重新启动
idea防止代码格式化导致的大规模冲突方法
局部格式化,cmd+opt+shift+L (windows是Ctrl+Shift+Alt+L)将弹出以下窗口
其中,勾选Only VCS changed text将只格式化本地对版本控制中代码修改的地方,也能有效避免大批量冲突问题.
勾选后后续格式化代码cmd+opt+L(windows是Ctrl+Alt+L)将继续按照设置执行不需再次设置
Ignored pom.xml
原因:由于相同名称的module在之前被创建过,因此在IDEA中留有痕迹。重新创建一个新的同名module会让IDEA误以为是之前被删除掉的module,所以才自动将这个pom.xml文件忽略
解决:1.点击file > Setting进入设置,2.找到lgnored file,把右边已选中的选项取消勾选,然后点击 ok,3.再点击右上角Maven中的刷新一下,这样pom.xml 文件就被变回来了
Idea2020新建static web项目
2020版的IDEA在新建工程的时候已经找不到Static Web工程了,而且插件也失去了效果,可以在新建工程页面选择JavaScript创建新项目。
IDEA警告:SQL dialect is not configured
在File—->Setting—>Languages & Frameworks—>SQL Dialects中,选择对应的数据库,如MySQL,之后点击保存即可。
这样的一个好处还有一个,就是idea直接可以识别你数据库中的字段了,按着cmd然后点击代码中的数据库字段,idea右边会弹出你的数据库字段,前提是你idea已经配置了数据库链接
mac上 idea 启动Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines…
在用idea软件run的时候显示:
|
|
解决办法:
-
点击IntelliJ IDEA最上面菜单的”Help”下的“Edit Custom Properties”,没有这个properties文件的话,IntelliJ IDEA会提示创建;
-
在文件中加上
1
idea.no.launcher=true
-
重启IntelliJ IDEA
原因分析:
|
|
Mac上面Java的一个老Bug了,会在那些使用了Java Agent的IDE上运行应用时触发,但这个Error对程序是无影响的,可以无视
IDEA toolbar整理
移除:xxx 右键 -> remove from sidebar
找回来:View→Tool Windows -> xxx
IDEA中使用Data Source and Drivers
view->Tool Windows->Database->填写连接元素
IDEA Library source does not match the bytecode for class
- 将本地jar删除重新下载依赖
- 此时IDEA-Maven的Dependencies中会出现红色波浪线
- 查看本地jar是否存在, 如果确实已存在
- 从pom文件中将对应的依赖删除,reimport,再将依赖加回来,此时恢复正常
更新:上述方法并没有解决问题,本质原因是缺少jar包依赖
|
|
问题解决
idea报Could not autowired解决办法
inspections->spring->spring core->code->Autowiring for Bean Class 取消勾选
IDEA中普通文件夹和module文件互相转换
经常会遇到从GitHub上download的progect在idea里面打开是普通文件夹形式,而并不是我们想要的module形式(文件夹图标右下角有个蓝色的tag),那么如何快速转换成我们想要的module形式呢?
1、右击project,选择第二项“add framework support”,然后从对话框左侧选择“Maven”,OK即可
2、设置maven仓库地址:右击file,选择settings,找到maven,设置maven home directory以及后面两项。(图片大小超过限制。。我就不传图了)
3、OK完成,等加载刷新。
第二种情况:Remove Module(当你把project下中的一个module删除delete之后,会发现该文件夹右下角的蓝色flag消失了,但文件还在)。。那么如果你想重新把它加入module的话,该如何操作呢?
1、右击该普通文件夹的父级(即它上一级的module),选择Open Module Settings,之后会弹出一个框
2、在中间文件夹这一列找到刚刚的父级module,选中后点击列顶部的加号“+”,在弹出框选择“Import Module”,找到要加入module的子级文件夹,点击OK
3、弹出框,选择“Next”,always,最后一步选择“Select all”,然后点击“Finish”,搞定!
此时你会发现,消失的蓝色flag又恢复啦!
设置
IDEA快速查看类继承结构和类的方法
- ALT+7:查看类的方法
- CTRL+H:查看继承顺序
idea中tomcat配置热部署
部署war时有两种选择 war和war exploded
区别:
- war模式这种可以称之为是发布模式,就是先将WEB工程打成war包,然后再将其上传到服务器进行发布
- war exploded模式是将WEB工程以当前文件夹的位置关系上传到服务器,即直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。
参考:https://blog.csdn.net/czc9309/article/details/80304074
Auto Import
Settings→Editor→General→Auto Import 然后勾选Add unambiguous imports on the fly以及Optimize imports on the fly
Add unambiguous imports on the fly:快速添加明确的导入。 Optimize imports on the fly:快速优化导入,优化的意思即自动帮助删除无用的导入。
Transparent native-to-ascii conversion
Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。工作原理是:在文件中输入文字时他会自动的转换为Unicode编码,然后在idea中发开文件时他会自动转回文字来显示。
修改内存
Help-> Edit Custom VM Options
显示内存使用情况
Appearance&Behavior -> Appearance -> Window Options-> 勾选Show memeroy indicator
编辑界面使用cmd+滚轮控制字体大小
Editor -> General -> 勾选Change font size(Zoom) with Command+Mouse Wheel
方法之间设置分隔符
Editor -> Appearance -> 勾选Show method separators
首字母不区分大小写提示
设置文件头
设置自动编译
Code Completion
-
live templates
eg:
1 2 3 4 5 6 7
/** * $desc$ */ @Test public void test$num$(){ $end$ }
设置时可参考:
-
postfix completion
eg:
1
$EXPR$.stream().forEach(System.out::println);
tab跳出括号
在最新的 2018.2 EAP version 中,官方加入了新的特性,默认关闭,需要自行开启:在Settings->Editor->General->Smart Keys 中就能找到Jump outside closing bracket/quote with Tab 勾选即可。
激活
我的idea版本是2019.1.1, 在网上下载jetbrains-agent-v2.1.1-支持idea版本为-2019.1.3.zip
,解压
激活主要使用这里面的两个文件jetbrains-agent.jar和ACTIVATION_CODE.txt
步骤:
-
修改IntelliJ Idea安装目录bin文件夹里的idea64.exe.vmoptions文件,如果是32位系统,就对应的是idea.exe.vmoptions文件。
在该文件最后一行添加:
1
-javaagent:/Users/david/my/config/jetbrains-agent.jar
-
启动idea,打开注册窗口,选择Activation code方式离线激活,请使用:ACTIVATION_CODE.txt 内的注册码激活如果激活窗口一直弹出(error 1653219),请去hosts文件里移除jetbrains相关的项目
插件
jclasslib Bytecode viewer
为了更方便的在IDEA环境下阅读class文件内容
点击.java文件,然后点击上方show bytecode with jclasslib试试
visualVM
jvisualvm集成插件
安装插件
插件中心默认的路径已经弃用了,进入:https://visualvm.github.io/pluginscenters.html
里面有各个版本,选择jdk8这一版本
拷贝:https://visualvm.github.io/uc/8u131/updates.xml.gz 设置为新的插件中心地址
JProfiler
参考Intellij IDEA集成JProfiler性能分析神器
附两个11序列号
L-J11-Everyone#speedzodiac-327a9wrs5dxvz#463a59
A-J11-Everyone#admin-3v7hg353d6idd5#9b4
Lombok
https://www.jianshu.com/p/2543c71a8e45
常用快捷键
https://java-er.com/blog/mac-intellij-idea-2020-keyboard/
Editing(编辑)
- ⌃⇧J 智能的将代码拼接成一行
- ⌘↩ 智能的拆分拼接的行
- ⇧↩ 开始新的一行
- ⌘⇧] / ⌘⇧[ 切换到左边/右边标签
- ⌥⌦ 删除到单词的末尾(⌦键为Fn+Delete)
- ⌥⌫ 删除到单词的开头
- ⌘+ / ⌘- 展开 / 折叠代码块
- ⌘⇧+ 展开所以代码块
- ⌘⇧- 折叠所有代码块
- ⌘W 关闭活动的编辑器选项卡
- 选中下一个相同的内容:ctrl + G
- 选中文件中所有相同个的内容:command + ctrl + G
Search/Replace(查询/替换)
- ⌘G 查找模式下,向下查找
- ⌘⇧G 查找模式下,向上查找
- ⌘⇧F 全局查找(根据路径)
- ⌘⇧R 全局替换(根据路径)
替换双击Shift
因为习惯经常切换输入法的原因,经常会不小心双击shift打开IDEA的全局搜索,替换步骤如下:
-
禁用双击shift
cmd+shift+A,输入Registry,找到ide.suppress.double.click.handler选项,选中,然后close就行。
-
设置全局查找快捷键
key map -> Search Everywhere -> 设置新的快捷键