升级到 Netbeans 13 时,为什么会出现 IllegalStateException:缺少托管模块 org.netbeans.libs.javacimpl?
将 Netbeans 从 12.6 升级到 13 后,Netbeans 无法启动。当我从命令行启动它时,我收到以下消息:
java.lang.IllegalStateException: Missing hosting module org.netbeans.libs.javacimpl for fragment org.netbeans.modules.nbjavac.impl
at org.netbeans.ModuleManager.refineClassLoader(ModuleManager.java:909)
at org.netbeans.StandardModule.classLoaderUp(StandardModule.java:527)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1330)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1254)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:315)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:251)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:298)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:156)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.base/java.lang.Thread.run(Thread.java:829)
原因是什么?我该如何修复它?
After I upgraded Netbeans from 12.6 to 13, Netbeans doesn't start. When I start it from the command line, I got the following message:
java.lang.IllegalStateException: Missing hosting module org.netbeans.libs.javacimpl for fragment org.netbeans.modules.nbjavac.impl
at org.netbeans.ModuleManager.refineClassLoader(ModuleManager.java:909)
at org.netbeans.StandardModule.classLoaderUp(StandardModule.java:527)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1330)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1254)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:315)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:251)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:298)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:156)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:125)
at org.netbeans.core.startup.Main.start(Main.java:282)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98)
at java.base/java.lang.Thread.run(Thread.java:829)
What's the reason? How can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是由较旧的 Netbeans 版本中安装的旧
nb-javac
(Netbeans Java 编译器)模块引起的,这些模块与现在捆绑在 Netbeans 中的nb-javac
不兼容。有必要删除那些旧模块。您可以在 Netbeans 用户目录中找到它们。例如,在 Linux 上,如果作为 Snap 包安装,则位于 ~/.netbeans 或 ~/snap/netbeans/current 中。这些 nb-javac 文件位于该目录的模块目录中(例如
~/.netbeans/modules
),并在名称中包含nbjavac
,例如org-netbeans -modules-nbjavac-api.jar
。删除所有包含nbjavac
的此类文件。然后再次启动 Netbeans,现在一切都应该可以工作了。开发人员邮件列表中的 Netbeans 13 开发版本报告了此问题: https://www.mail-archive.com/[电子邮件受保护]/msg09777.html。有原始说明帮助我解决了这个问题。我没有使用 Netbeans 的任何开发版本,我只是从常规版本 12.6 升级到 Netbeans 版本 13。在Netbeans 12.6中,我安装了nb-javac插件,它可能带来了这些需要删除的不兼容模块。
This is caused by old
nb-javac
(Netbeans Java Compiler) modules installed in an older Netbeans version, which are incompatible withnb-javac
, which is now bundled in Netbeans.It's necessary to remove those old modules. You can find them in the Netbeans user directory. On Linux this is for example in ~/.netbeans or in ~/snap/netbeans/current, if installed as a Snap package. Those nb-javac files are in the modules directory in that directory (e.g.
~/.netbeans/modules
) and includenbjavac
in the name, e.g.org-netbeans-modules-nbjavac-api.jar
. Delete all such files that includenbjavac
. Then start Netbeans again, all should work now.This problem was reported for a development version of Netbeans 13 on the developers' mailing list: https://www.mail-archive.com/[email protected]/msg09777.html. There are original instructions that helped me to fix this issue. I wasn't using any development build of Netbeans, I just upgraded from the regular version 12.6 to the version 13 of Netbeans. In Netbeans 12.6, I installed the nb-javac plugin, which probably brought these incompatible modules that needed to be removed.
在 macOS 上苦苦挣扎的人,答案与 OndroMih 相同,但这些目录
People who are struggling on macOS, same answer as OndroMih but these directories