"Source not found" 单击堆栈跟踪时
"Source not found" when clicking on stacktrace
通常,单击堆栈跟踪中的一行,源文件会在有问题的行处打开。使用 Eclipse-oxygen(安装了支持 java9 的 R)和 java9 (u175),如果源位于 java 模块内的某处,它会显示一个对话框 "Source not found"。在编辑器中导航(按 F3)时,按预期找到了源。
s/where 有什么问题以及如何解决?
下面是一个简单的两行示例,它失败了,显示了堆栈跟踪:
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 部分可能是个好主意。
通常,单击堆栈跟踪中的一行,源文件会在有问题的行处打开。使用 Eclipse-oxygen(安装了支持 java9 的 R)和 java9 (u175),如果源位于 java 模块内的某处,它会显示一个对话框 "Source not found"。在编辑器中导航(按 F3)时,按预期找到了源。
s/where 有什么问题以及如何解决?
下面是一个简单的两行示例,它失败了,显示了堆栈跟踪:
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 部分可能是个好主意。