我在使用 NetBeans 6.9.1 时遇到了一个问题,在使用了几个月没有问题之后最近突然出现了这个问题。我在 Red Hat 5.7 上使用 Spring 和 NetBeans RCP 编写 Java 代码。
每次我打开一个文件,或者当我最初打开 NetBeans 并且它自动打开我上次处理的文件时,我都会收到 NullPointerException 和一条消息,指出“解析(文件名)期间发生错误” .我得到的语法高亮显示非常有限(蓝色的关键字,橙色的字符串文字,除此之外别无其他),并且没有任何 NetBeans 的优点,例如代码完成、按住 ctrl 键单击导航和修复导入。下面是关于 NullPointerException 的更多详细信息;这是在未连接到 Internet 的系统上发生的,因此我在前几行中手动输入,因为我无法提供 NetBeans .dump 文件。
为了尝试解决这个问题,我删除了整个 ~/.netbeans 目录并重新启动了 NetBeans。它出现了,就好像这是我第一次运行它并要求我注册,正如预期的那样(我说“从不注册”,因为我无论如何都没有连接到互联网)。然后我导航到我的项目,并得到了与以前相同的结果。
NetBeans Bugzilla 站点有关于此问题的错误报告,但没有关于如何修复它的信息。我发现的一个法语网站 (developpez.net) 表明关联的 .form 文件的语法可能有问题,但我在删除 .netbeans 目录后打开的特定文件没有 .form 文件我遇到了同样的错误 - 无论如何,当 .form 文件中存在语法错误时,它通常不会让您使用 GUI 生成器进行编辑。
如有任何帮助解决此问题,我们将不胜感激!
关于 NullPointerException 的更多信息:
WARNING [org.netbeans.modules.parsing.impl.indexing.RepositoryUpdater]
java.lang.NullPointerException
at java.util.Arrays$ArrayList.<init>(Arrays.java:3357)
at java.util.Arrays.asList(Arrays.java:3343)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:67)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
...
更新:因为我在星期六独自工作,所以我跳到同事的工作站(同一网络),以我自己的身份登录,并启动了 NetBeans - 但没有遇到这个问题!它会根据我的 .netbeans 信息中的内容记住我打开了哪些文件,并解析 Java 文件并提供语法突出显示和代码导航。不幸的是,该工作站没有安装我进行测试所需的第三方 COTS 产品,所以我必须在我的工作站上。我回到我的工作站,双手合十,真心希望,但问题仍然存在。但希望这会为比我聪明的人提供线索 - 它在我的工作站上,但不在我的 .netbeans 目录中。
最佳答案
我解决了我的问题,所以我想我会更新这个以防其他人遇到同样的问题。我所要做的就是重新启动我的机器 - 优雅地,因为我在遇到这个问题时不得不在某一时刻强制重新启动,而强制重新启动没有解决问题。
我认为导致这种情况发生的原因是我在 NetBeans 正在扫描项目或检查外部更改(或什至两者)的过程中关闭了它。当我这样做时,我会收到通常的弹出窗口,提示关闭 IDE 将取消这些后台任务,我告诉它无论如何都要关闭 IDE。在我重新启动(这解决了最初的问题)并取消上述任务之一并重新启动 NetBeans 之后,问题又出现了,直到我再次重新启动。
我不知道为什么中断项目扫描或检查外部更改会导致此行为,但我可以让它始终如一地发生。由于我们使用的是ClearCase和NetBeans ClearCase插件,每当我改变ClearCase View 时我需要重启NetBeans,有时当我想切换 View 时碰巧它正在扫描我会很不耐烦。我已关闭自动扫描以尽量减少此问题。
关于NetBeans 6.9.1 中的 Java 解析已停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021648/