有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

netbeans中的java“不可编译源代码”运行时异常

我试图帮助另一个使用Netbeans的开发人员。当他在Netbeans(6.9.1)中运行或调试他的一些代码时,他会得到一个“不可编译的源代码”。我对Java很有经验,但更习惯IntelliJ,根本没有使用过Netbeans

我在谷歌上搜索了一下,似乎Netbeans即使有错误也会编译代码,然后在错误处抛出RuntimeException。(在我看来,这是相当糟糕的行为,但我想有些人会觉得这很有用。)我让他完全重建了项目,没有编译错误,但RuntimeException似乎仍在发生。我猜他在Netbeans的深处有一些糟糕的缓存类数据

2个问题:

  1. 清除缓存以便找出不可编译代码所在位置的最佳方法是什么
  2. 有没有办法关闭这种行为,这样代码就不会运行/调试,除非所有的东西都能编译,这样这些RuntimeException就不会被注入到代码中

我在谷歌上搜索了不少,但还没有找到这两个问题的答案


更新:更多信息:

  1. 关闭“保存时编译”选项会使问题消失。再次打开CoS会使异常再次出现。不幸的是,这不是一个解决方案,因为CoS是一个非常有用的选项
  2. http://netbeans.org/bugzilla/show_bug.cgi?id=182009似乎是最接近的错误报告,但它已被关闭为“已解决未完成”。不幸的是,这个错误很难重现——异常发生在Java库代码中,当它调用第三方库时,因此在抛出异常时,我们无法更改任何内容。代码将运行数周,然后突然开始抛出这个错误,没有明显的原因
  3. 我们已经尝试手动删除整个构建目录,但仍然无法修复

共 (2) 个答案

  1. # 1 楼答案

    我在使用Netbeans 7.2.1的Linux Mint Nadia上遇到了这个问题,但对于缓存位置可能在哪里——我的缓存实际上位于

    /home/USER/.cache/netbeans/7.2.1
    

    而不是在。netbeans文件夹

    如果不确定缓存在特定设置中的位置,只需转到帮助>;关于Netbeans中的菜单,它会告诉您正确的路径

  2. # 2 楼答案

    实际上,您不需要删除整个索引文件夹。 当您打开netbeans并且项目文件夹处于活动状态时。Netbeans开始扫描文件,并为所有活动项目创建临时项目文件夹(在索引文件夹中)。如果选中index\segments file(它是一个文本文件,可以在记事本/(文本编辑器)中查看),您将能够识别代表项目的文件夹。然后可以删除这些文件夹并重新启动netbeans

    *活动项目是指在Netbeans关闭之前打开的项目