快捷搜索: 王者荣耀 脱发

Idea中System.out没有输出到控制台

一.开发环境: idea maven 二.场景 在代码中加了一行system.out.println 结果发现神奇的是代码居然没有打印在console.如图 console中没有输出打印内容 神奇的一幕 让我当场蒙圈. 进一步debug使用f7 发现无法进入方法, 然后手动evaluate 代码 发现此时就可以正常打印在了console.如图:

三. 严格的来讲我是当场怀疑了自己的,因为没有遇到过system语句无法在console打印的场景(也是由于正常项目中几乎不用system),所以我第一反应是system问题或者idea layout是否变化了.排查后发现都没有,最后我想到了实际运行的都是target里面代码,是否是source代码和target代码不一致引起的呢? target里面代码果然没有新增的system的代码,如图

那么结论所以就是idea修改了代码,没有自动编译,手动mvn clean compile 重新生成target 问题解决 四:最后设置idea自动更新target. 正常idea运行代码会自动重新编译,不会有这个问题,我这里原因有些特殊,因此单独写一篇解决过程. 链接:

总结: 1.注意图一彩蛋 我新增了一行前还加了一个空白行,导致编译器认为我断点在原来return那行,如果不加这个空白行,断点会显示为无效. 2.在我debug 源码发现f7无法进入的时候,我就应该思考target和source代码不一致. 3.自己玩的项目,所以配置不完善,导致idea没有自动更新target.

经验分享 程序员 微信小程序 职场和发展