通常,单击堆栈跟踪中的一行,源文件将在有问题的行中打开。使用Eclipse-oxygen(安装了对Java9的支持的R)和Java9(u175)时,如果源位于java模块内部某处,则会显示对话框“找不到源”。在编辑器中导航时(按F3),按预期找到了源。
哪里/哪里出了问题以及如何解决?
以下是一个失败的简单的两层示例,显示了堆栈跟踪:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 5 out-of-bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.set(ArrayList.java:453)
at dummy.PlainStacktrace.main(PlainStacktrace.java:10)
两线:
import java.util.ArrayList;
public class PlainStacktrace {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.set(5, "error");
}
}
最佳答案
这是bug 518829,应该在最近的版本中解决。
注意:在Java 9和Eclipse支持正式发布之前,最好不仅定期更新JDK,还要定期更新Eclipse部分。