Maven项目有一个依赖jar -- log4j-1.2.14.jar,
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>当执行junit测试时,有以下错误信息
java.io.FileNotFoundException: /Users/foo/Documents/logs/info.log (No such file or directory)
...
at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
at org.apache.log4j.Logger.getLogger(Logger.java:104)
...我想在LogManager.java 122行中设置断点,但它不能。

奇怪的是,我可以成功地在同一个类的其他部分设置断点。然后我发现122行是一个静态块代码。
static {...}似乎如果在静态代码块中有一行代码,它不能在这里启用断点。
为什么会这样呢?
发布于 2020-09-10 16:40:33
虽然晚了,但可能对一些人还是有帮助的。我有过与OP类似的经历,但后来注意到Eclipse确实设置了断点。虽然不是我单击的地方的行断点,而是编辑器中在类开始处标记的一个类断点,它比我感兴趣的行高出了很多。
https://stackoverflow.com/questions/37431820
复制相似问题