NetBeans 8.2无法在Mac OS上打开

Ren*_*ato 8 netbeans

我试图在Macbook Pro上启动NetBeans 8.2并且它无法正常工作.

它显示了启动画面,然后在一段时间后它关闭而没有启动任何东西.

从命令行运行我可以看到这个错误:

Oct 02, 2017 7:40:28 PM org.netbeans.ProxyURLStreamHandlerFactory register
SEVERE: No way to find original stream handler for jar protocol
java.lang.reflect.InaccessibleObjectException: Unable to make field transient java.net.URLStreamHandler java.net.URL.handler accessible: module java.base does not "opens java.net" to unnamed module @7823a2f9
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:175)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:169)
    at org.netbeans.ProxyURLStreamHandlerFactory.register(ProxyURLStreamHandlerFactory.java:82)
    at org.netbeans.JarClassLoader.<clinit>(JarClassLoader.java:141)
    at org.netbeans.MainImpl.execute(MainImpl.java:178)
    at org.netbeans.MainImpl.main(MainImpl.java:85)
    at org.netbeans.Main.main(Main.java:83)
Run Code Online (Sandbox Code Playgroud)

看起来Java 9与它捆绑在一起并导致错误.该文档暗示NetBeans 8.2使用JDK 8!?

如何使用我自己的java来运行NetBeans,或者如何在没有此错误的情况下启动NetBeans?

sko*_*isa 11

是的,NetBeans 8.2确实使用JDK 1.8,特别是不支持JDK 1.9.

从OP不清楚哪个版本的Java需要与NetBeans一起运行,但要使用的NetBeans版本由要使用的Java版本控制:

[1]对于Java 8,请使用Netbeans 8.2.请注意,不支持Java 9.您可以在此处下载与Mac OS JDK 8u141捆绑在一起的NetBeans 8.2:

http://www.oracle.com/technetwork/articles/javase/jdk-netbeans-jsp-142931.html

一旦安装它,就不需要Java的特定配置.

[2]对于Java 9,您必须使用NetBeans的开发构建.这可以从以下地址下载http://bits.netbeans.org/download/trunk/nightly/latest/但可以肯定的是Mac OS X的从选择平台下拉列表中单击之前下载.

对于任何版本的NetBeans,您可以指定自己的Java版本,如下所示:

  • 启动NetBeans并从" 工具"菜单中选择" Java平台 " .

  • 单击添加平台...按钮.

  • 完成向导以找到要使用的Java版本.

最后一点:使用不同的JDK安装和运行多个版本的NetBeans是没有问题的,通常是带有JDK 1.8的NetBeans 8.2和带有JDK 1.9的NetBeans Dev Build.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~

更新:

如果NetBeans在启动时自行关闭,则可能具有无效的JDK路径.要更改NetBeans使用的JDK:

  • 找到文件netbeans.conf.它应该位于NetBeans安装目录下的etc目录中.

  • 在文本编辑器中编辑该文件.找到包含属性netbeans_jdkhome的行.在我的Windows 10安装上,它看起来像这样:

    netbeans_jdkhome = "C:\ Java的\ jdk1.8.0_121"

  • 更改该属性的值以指定所需JDK的路径,保存文件并重新启动NetBeans.


Jos*_*Jos 5

正如评论中指出的:

我曾尝试设置netbeans_jdkhome in /Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf为指向JDK 10,但仍然不起作用。

我必须安装 JDK 8,并设置 netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home"

卸载 JDK 10使用 JDK 8对我来说很有效,并且设置netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home"效果很好。