在我将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)
原因是什么?我该怎么补救?
2条答案
按热度按时间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插件,它可能带来了这些需要删除的不兼容模块。
n7taea2i2#
在macOS上挣扎的人,与OndroMih的答案相同,但这些目录