Netbeans 12.5 无法安装 Java ME 插件

Netbeans 12.5 can't install Java ME plugin

下面是我用的,

我正在尝试安装 Java Me 插件

安装后,我一直得到这个

我已经尝试使用 java 7、8 和 17(我正在使用 jenv 来控制 java 版本)。没有任何效果。有人可以帮忙吗?

编辑: 下面是我尝试安装时得到的日志(使用 jdk17,我还检查了防火墙是否关闭)

java.io.FileNotFoundException: /Applications/NetBeans/Apache NetBeans 12.5.app/Contents/Resources/NetBeans/netbeans/mobility/modules/locale/org-netbeans-modules-mobility-jsr172_ja.jar (No such file or directory)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at org.netbeans.updater.UpdateTracking.getFileCRC(UpdateTracking.java:507)
[catch] at org.netbeans.updater.ModuleUpdater.unpack(ModuleUpdater.java:469)
    at org.netbeans.updater.ModuleUpdater.run(ModuleUpdater.java:117)
INFO [org.netbeans.updater]: File /Applications/NetBeans/Apache NetBeans 12.5.app/Contents/Resources/NetBeans/netbeans/mobility/update/download/org-netbeans-modules-mobility-jsr172.nbm deleted.
INFO [org.netbeans.updater]: Use XML Transformer: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl@afcc1b6
INFO [org.netbeans.updater]: File /Applications/NetBeans/Apache NetBeans 12.5.app/Contents/Resources/NetBeans/netbeans/mobility/update_tracking/org-netbeans-modules-mobility-jsr172.xml modified.
INFO [org.netbeans.updater]: File installed /Applications/NetBeans/Apache NetBeans 12.5.app/Contents/Resources/NetBeans/netbeans/mobility/update_tracking/org-netbeans-modules-mobility-jsr172.xml@1,637,575,673,151
INFO [org.netbeans.updater]: File /Users/awesomeee/Library/Application Support/NetBeans/12.5/config/Modules/org-netbeans-modules-mobility-jsr172.xml_hidden deleted.
INFO [org.netbeans.updater]: File /Applications/NetBeans/Apache NetBeans 12.5.app/Contents/Resources/NetBeans/netbeans/mobility/update/download/additional_information.xml deleted.
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-mobility-licensing.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-j2me-common-ant.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-api-mobility.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-mobility-jsr172.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-mobility-end2end.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-j2me-kit.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-j2me-project.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-mobility-databindingme.jar could not be found, ignoring...
INFO [org.netbeans.core.startup.NbEvents]: Warning: the module /modules/org-netbeans-modules-mobility-cldcplatform.jar could not be found, ignoring...
INFO [org.netbeans.modules.autoupdate.services.InstallSupportImpl]: Timeout waiting for loading module org.netbeans.modules.mobility.jsr172@1.31.1
INFO [org.netbeans.modules.autoupdate.ui.wizards.InstallStep]: timeout of loading Java ME Web Service Clients (JSR 172)[org.netbeans.modules.mobility.jsr172/1.31.1]
org.netbeans.api.autoupdate.OperationException[INSTALL]: timeout of loading Java ME Web Service Clients (JSR 172)[org.netbeans.modules.mobility.jsr172/1.31.1]
    at org.netbeans.modules.autoupdate.services.InstallSupportImpl.call(InstallSupportImpl.java:431)
    at org.netbeans.modules.autoupdate.services.InstallSupportImpl.call(InstallSupportImpl.java:291)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[catch] at java.base/java.lang.Thread.run(Thread.java:833)

OP 的错误消息 “插件安装发现问题超时加载 Java ME Web 服务客户端” 具有误导性,因为它表明可能存在网络问题。但是,NetBeans 日志文件中的 FileNotFoundException 显示真正的原因是插件安装程序失败,因为它找不到要解压的文件 unpack200.exe下载的插件。

如果 NetBeans 运行ning 在 JDK 14 或更高版本上,则会出现此问题,因为 unpack200.exe 在该版本中已被删除。有关详细信息,请参阅 JEP 367: Remove the Pack200 Tools and API

过去的解决方法是暂时 运行 NetBeans 和较早的 JDK,其中包含 unpack200.exe,通常 JDK 8 或 JDK 11。然后,一旦成功安装了插件,只需恢复使用您的 JDK >= 14. 。该答案中的大多数单独步骤仍然有效,但不再需要在 JDK < 14 上恢复到 运行ning NetBeans,因为有更简单的方法可用。

当 运行在 JDK >= 14 上安装 NetBeans 12.5 时,插件安装程序现在检测到 unpack200.exe 在下载后丢失插件,并邀请您提供它的一个实例:

单击该屏幕左下方的 Choose Unpack200... 按钮将打开以下对话框:

导航到您计算机上 unpack200.exe 的任何实例。它将驻留在 bin 目录中,适用于任何 JDK 版本 < 14。一旦插件安装程序找到 unpack200.exe[=51 的实例=]它可以将下载的插件转换成jar文件来完成插件的安装过程。

备注:

  • 虽然这个问题是关于Java ME插件的,但是同样 当 运行在 JDK >= 14 上安装 NetBeans 并安装任何使用 Pack200/Unpack200 API 的插件时,此方法适用。

  • NetBeans 请求 unpack200.exe 的位置只会发生一次。此后它默认使用您最初提供的位置。