idea-java-遇到问题及解决方式

本文介绍了IDEA中遇到的一些常见问题及其解决方法,包括端口号被占用的解决步骤,误删文件的恢复策略,自动加载和更新Maven库的设置,强制更新Maven依赖的两种方式,以及在debug模式下如何修改变量值和管理断点。这些技巧有助于提升IDEA的使用效率和开发体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

目录

目录

1.解决端口号被占用

2.idea误删文件恢复方法

3.IDEA中maven库自动加载更新jar包

4.idea强制更新Maven依赖包

5.IDEA debug模式,修改变量的值

6.单个清除断点和一键清除断点


1.解决端口号被占用

项目启动报错:Address already in use: bind

服务端main程序已经启用,再次运行main程序,则会报告端口号被占用的错误。下面是解决办法1.WIN+R键(Windows图标键和字母R键)打开运行窗口


2.打开黑窗口(DOS窗口),输入命令 netstat -ano 查看当前端口号

3.确定自己的程序使用的端口号,一定要准确,不然会误操作关闭了其它进程,带来不必要的麻烦。 比如我的程序:

这里明确了端口号是1888,所以我们找端口号为1888的进程PID
报错信息如下: Address already in use: bind 1888

4.根据进程PID,输入命令 tasklist|findstr pid (pid为对应的进程编号),找到占用端口号的进程名称

根据端口号确认进程PID

4.输入命令 taskkill /f /t /im 进程名称,结束相关进程。在这里输入为taskkill /f /t /im javaw.exe

可以看到,占用端口号的进程已经被“杀死”,再次运行main程序可以正常执行。
注意:
一般来说,java执行过程中出现端口号占用的情况,而又不清楚占用的端口号是多少,则可以在任务管理器中直接“杀死” javaw.exe进程解决

2.idea误删文件恢复方法

转载:idea误删文件恢复方法_Seven7707的博客-优快云博客_idea误删了项目怎么办

idea上面有两种恢复的方法。
第一种,ctrl+z
这一种没必要多说什么,主要在书写代码的时候常用,它的即时性比较高。如果是过了很长时间或者软件关了在打开,那么它就没什么用处了。


第二种,右键单击项目名或者更精确的话点击你删除文件的子模块的名字,然后选择Local History。


然后选择Show History,

 


选择你想要恢复的软件,右键选择Revert,最后你就可以这个文件或着类就会恢复到原来的位置了。


3.IDEA中maven库自动加载更新jar包

1.首先在.pom文件中,加入需要导入的jar包。

2.打开IDEA找到对应目录,File--》Setting。

3.首先在搜索框中输入maven,然后点击目录Maven,勾选下图中的选项。

然后点击Maven--》Importing,勾选下图中的两个选项。

最后刷新maven库。


4.idea强制更新Maven依赖包

转载:https://www.cnblogs.com/ming-szu/p/10892021.html

在idea开发的过程中,我们的依赖包可能会多次更新,特别是使用snapshot的时候,pom依赖未改变,此时本地有缓存不一定能迅速更新,想要更新最新依赖有以下两种方法:

(1)reimport

右击项目名->maven->reimport

reimport有时候并不能达到最新版本的效果

(2)查找本地缓存,删除后再reimport

2.1 方法一:查看本地仓库目录后删除本地缓存,让maven再去拉一次

File | Settings | Build, Execution, Deployment | Build Tools | Maven

2.2 方法二:查找指定包文件路径,删除后让maven再拉一次

File->project structure->libraries

 到上图目录找到想要更新的包,到相应路径删除掉然后让maven再去拉最新的

5.IDEA debug模式,修改变量的值

这里写图片描述

这里写图片描述

方式一: debug模式下,设置断点后,上图的变量a原始值为11,在 Watchs中点击绿色的加“+”号,输入表达式a=22,向下执行,可以发现a的值变为了22

方式二: debug模式下,设置断点后,上图的variables中变量a原始值为11,拖动到 Watchs中修改确认即可。

对于特殊的类型例如,MapList等,同样可以通过map.put("name","Hali")类似的方式赋值

这里写图片描述

注意:Watchs中的表达式作用的优先级高于代码中的优先级
例子中 Watchs中map.put("name","Hali")在代码map.put("name","Pi")执行之前定义,map中的name值在整个debug期间一直为Hali,不会被代码map.put("name","Pi")覆盖。
 


对象的属性值直接在对应属性名上右击set value就好了

 如果变量是一个空集合,想加一个元素到这个集合,如下图

添加的过程会弹出一个提示,但不影响,呃,应该不影响,如果会有什么严重影响的话请评论告诉我。

 这是输出结果,为什么次序跟上面不一样,因为下面这图是后面remove了一个元素后又重新加上再截的图。

6.单个清除断点和一键清除断点

单个

第一步

 点击控制台的断点 

第二步

 选择需要删除的断点点击“-”即可

一键清除所以

 点击取消“勾”符合,然后点击上面的减号

如果不想删掉断点,但又不想运行断点怎么办, 点击圈圈地方即可

断点回退--回退到上一个方法, 点击圈圈地方(仔细观察发现左边方法压栈运行,先进后出在最下面)

  点击后

 如果直接回退a方法

  点击后

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值