为什么会出现IllegalStateException:升级到Netbeans 13时缺少托管模块org.netbeans.libs.javacimpl?

vxqlmq5t  于 2022-11-10  发布在  .NET
关注(0)|答案(2)|浏览(173)

在我将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)

原因是什么?我该怎么补救?

nmpmafwu

nmpmafwu1#

这是由旧版Netbeans中安装的旧nb-javac(Netbeans Java编译器)模块所造成,这些模块与nb-javac不相容,后者现在随附在Netbeans中。
有必要删除这些旧模块。您可以在Netbeans用户目录中找到它们。例如,在Linux上,这是在~/.netbeans或~/snap/netbeans/current中,如果安装为Snap包。这些nb-javac文件位于该目录的modules目录中(例如~/.netbeans/modules)并在名称中包含nbjavac,例如org-netbeans-modules-nbjavac-api.jar。删除所有包含nbjavac的此类文件。然后再次启动Netbeans,现在所有文件都应正常工作。
开发人员邮件列表中的Netbeans 13开发版本报告了此问题:https://www.mail-archive.com/dev@netbeans.apache.org/msg09777.html。有一些原始的说明帮助我解决了这个问题。我没有使用任何Netbeans的开发版本,我只是从Netbeans的常规版本12.6升级到了版本13。在Netbeans 12.6中,我安装了nb-javac插件,它可能带来了这些需要删除的不兼容模块。

n7taea2i

n7taea2i2#

在macOS上挣扎的人,与OndroMih的答案相同,但这些目录

/Users/<your_user>/Library/Caches/NetBeans
/Users/<your_user>/Library/Application Support/NetBeans

相关问题