【发布时间】:2010-12-08 09:46:53
【问题描述】:
我正在尝试帮助另一位使用 Netbeans 的开发人员。当他在 Netbeans (6.9.1) 中运行或调试他的一些代码时,他会得到一个“不可编译的源代码”RuntimeException。我在 Java 方面非常有经验,但更习惯于 IntelliJ,并且根本没有使用过 Netbeans。
我已经做了一些谷歌搜索,似乎 Netbeans 即使出现错误也会编译代码,然后在错误处抛出 RuntimeException。 (IMO 的行为相当糟糕,但我想有些人会觉得它很有用。)我让他完全重建项目而没有编译错误,但 RuntimeException 似乎仍然存在。我认为他在 Netbeans 深处的某个地方有一些糟糕的缓存类数据。
2 个问题:
- 清除缓存以便我们找出不可编译代码在哪里的最佳方法是什么?
- 有没有什么办法可以关闭这种行为,这样代码就不会运行/调试,除非一切都可以编译,这样这些 RuntimeException 就不会被注入到代码中?
我已经用谷歌搜索了很多,但还没有找到这些问题的答案。
更新:更多信息:
- 关闭“保存时编译”选项可使问题消失。再次打开 CoS 会使异常恢复。不幸的是,这不是解决办法,因为 CoS 是一个非常有用的选项。
- http://netbeans.org/bugzilla/show_bug.cgi?id=182009 似乎是最接近的错误报告,但它已被关闭为“已解决的未完成”。不幸的是,该错误很难重现——异常发生在 Java 库代码中,当它调用第三方库时,因此在抛出异常时我们无法更改任何内容。并且代码将运行数周,然后突然开始抛出这个错误,没有明显的原因。
- 我们已尝试手动删除整个构建目录 - 仍未解决。
【问题讨论】:
-
也发生在 NetBeans 7.0.1 中。 netbeans.org/bugzilla/show_bug.cgi?id=182009 的状态现在为 REOPENED。
-
+1 - 我在Why does NetBeans recreate “old” packages' folders on deploy?遇到了同样原因引起的问题
-
在运行 netbeans 时磁盘空间不足后出现此错误。清除缓存对我有用。