3

无论我做什么,我都无法让 Netbeans 11 与 JDK 11 一起工作。你能帮帮我吗?

请注意,JDK 8 不会出现此问题。

将 JDK 11 下载并安装到 C:\Program Files\Java\jdk-11.0.4

下载并解压 Netbeans 11 到 C:\Program Files\netbeans

已编辑 etc/netbeans.conf 文件以设置 JDK 主目录:

netbeans_jdkhome="C:\Program Files\Java\jdk-11.0.4"

尝试运行 bin/netbeans64.exe 时:

第一次:出现加载窗口,加载一会,整个程序就消失了。

第二次:不出现加载窗口。出现一个空的 Java 应用程序。

如果我去任务管理器并手动结束 Netbeans 进程,我可以回到第一次。

对于下面列出的附件,请参考我在这里创建的问题: https ://issues.apache.org/jira/browse/NETBEANS-2865

从 PowerShell 执行 netbeans64.exe 会向控制台输出错误消息。它们可以在 consoleOutput.txt 附件中找到。

执行 bin/netbeans64.exe --trace C:\netbeans.log 的结果可以在 netbeans.log 附件中找到。

作为参考,这是我遵循的教程:

https://www.youtube.com/watch?v=cxh-hVty09g

更新与解决方案

感谢 skomisa 提供的答案,我终于让它工作了。

该问题是由 Netbeans 11.0 从先前版本导入设置引起的。我第一次运行 Netbeans 11.0 时出现一个弹出窗口,询问我是否想从以前的版本导入我的设置。有关原因的更多详细信息,请参阅 skomisa 的答案。

为了解决这个问题,我删除了 AppData 中的整个文件夹,从而删除了 NetBeans 11 的所有首选项文件。

C:\Users\Hunter\AppData\Roaming\NetBeans\11.0\

Skomisa 的回答提到尝试创建一个新的解压缩版本的 NetBeans 11 并且不导入设置。我之前实际上已经尝试过,但从来没有弹出窗口询问您是否要导入。我认为这是因为这个版本的 NetBeans 的用户首选项文件已经创建并且仍然位于 AppData 中。

这为您提供了两个可行的选择:

  1. 删除 NetBeans 11.0 的所有用户首选项文件。
  2. 在整个文件夹中搜索\u0000并删除它们的实例。

删除整个文件夹并从头开始似乎更容易,更令人满意。这样,我所有的用户首选项文件都使用 JDK 和 Netbeans 接受的最新实践,并且希望不会有挥之不去的遗留代码在我下次更新时会随机中断。

感谢大家的帮助!

4

1 回答 1

2

您的问题似乎与错误报告的控制台日志输出中的IllegalArgumentException(“密钥包含代码点 U+0000 ”)有关。看起来 NetBeans 正在尝试从早期版本的 Netbeans 导入您的首选项,并且正在您的首选项文件中找到一些无效的空字符。

之前已经报告过此错误,但仍未解决。请参阅错误 271652 - IllegalArgumentException: Key contains code point U+0000

您的首选项文件都是 XML 文件(扩展名为xml),位于C:\Users\user ID\AppData\Roaming\NetBeans\11.0\config下的各个目录中。

在我的情况下,我唯一的 NetBeans 11 首选项文件名为C:\Users\johndoe\AppData\Roaming\NetBeans\11.0\config\Editors\text\x-java\Preferences\org-netbeans-modules-editor-settings-CustomPreferences .xml但您可能有多个。

从控制台日志中的堆栈跟踪中,失败的调用是AbstractPreferences.getBoolean(),因此 null 可能Boolean在您的首选项文件中包含的行上。但是,正如这个有点相关的 SO 答案所暗示的那样,只是盲目地从所有首选项文件中删除所有空值。无论如何,任何 XML 文件中都不应存在空值。

解决您的问题的另一种方法是创建一个新的解压缩版本的 NetBeans 11,但不要导入您的设置。

我想您甚至可以在现有(损坏的)NB 11 安装中找到首选项文件并将其删除,尽管即使可行,这似乎也是一种不令人满意的方法。

相关的几点:

于 2019-07-18T02:51:24.100 回答