Maven项目有一个依赖jar - log4j-1.2.14.jar
,
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
执行junit test时有以下错误信息
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 {...}
似乎静态块代码中的一行,它不能在这里启用断点。
那为什么会这样?
答案 0 :(得分:0)
晚了,但也许对某些人还是有帮助的。我有与OP类似的经验,但是后来注意到Eclipse实际上确实设置了一个断点。不过,这不是我单击的位置处的断点,而是在课程开始时在编辑器中标记的类断点,这比我感兴趣的行高了很多。