NetBeans 8.2未在Mac OS上打开

NetBeans 8.2未在Mac OS上打开,netbeans,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.Inaccess

我试图在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)
2017年10月2日晚上7:40:28 org.netbeans.proxyurlstreamhandler工厂注册
严重:无法找到jar协议的原始流处理程序
java.lang.reflect.InAccessibleObject异常:无法使字段临时java.net.URLStreamHandler java.net.URL.handler可访问:模块java.base未“打开java.net”到未命名模块@7823a2f9
位于java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)
位于java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)
位于java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:175)
位于java.base/java.lang.reflect.Field.setAccessible(Field.java:169)
位于org.netbeans.ProxyURLStreamHandlerFactory.register(ProxyURLStreamHandlerFactory.java:82)
位于org.netbeans.JarClassLoader。(JarClassLoader.java:141)
位于org.netbeans.mainpl.execute(mainpl.java:178)
位于org.netbeans.mainpl.main(mainpl.java:85)
位于org.netbeans.Main.Main(Main.java:83)
看起来Java9与它捆绑在一起,导致了一个错误。该文档暗示NetBeans 8.2使用JDK 8


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

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

OP中不清楚希望在NetBeans上运行哪个版本的Java,但要使用的NetBeans版本受要使用的Java版本的控制:

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

一旦安装完毕,就不需要对Java进行任何特定的配置

[2] 对于Java9,必须使用NetBeans的开发构建。可以从下载,但在单击下载之前,请确保从平台下拉列表中选择了Mac OS X

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

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

  • 单击添加平台…按钮

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

最后一点:使用不同的JDK同时安装和运行多个版本的NetBeans是没有问题的,通常是带有JDK1.8的NetBeans 8.2和带有JDK1.9的NetBeans开发版本

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

更新:

如果NetBeans在启动时自行关闭,它可能具有无效的JDK路径。要更改NetBeans使用的JDK,请执行以下操作:

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

  • 在文本编辑器中编辑该文件。找到包含属性netbeans\u jdkhome的行。在我的Windows 10安装中,它如下所示:

    netbeans\u jdkhome=“C:\Java\jdk1.8.0\u 121”

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

macOS 10.13.5 JavaJDK 10作为“系统”JVM安装

我能够安装NetBeans,但无法使其正常运行。窗口将打开,单击“新建项目”或“新建文件”完全不起任何作用

通过进入位于的配置文件,可以使其正常工作(所有模块和服务器) /Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/NetBeans.conf

编辑文件底部的JDK注释路径


干杯

对于NetBeans 8.2,应该使用JDK 1.8。如果您在MacBook上安装了JDK 1.9或JDK 10.0,则必须从计算机上卸载它。

如评论中所述:

我曾试图将/Applications/netbeans/netbeans\8.2.app/Contents/Resources/netbeans/etc/netbeans.conf中的
netbeans\u jdkhome设置为指向JDK 10,,但它仍然不起作用

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


卸载JDK 10使用JDK 8对我很有效,设置
netbeans\u jdkhome=“/Library/Java/JavaVirtualMachines/jdk1.8.0_181.JDK/Contents/Home”
检查Java JDK是否安装在Mac上,netbeans 8.2是否使用JDK 1.8(Java SE 8)


如果没有,只需安装(无需删除现有JDK)


修改
/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/NetBeans.conf

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"

我甚至没有JDK9。正如我所说,似乎Mac发行版附带了JDK 9,但这不起作用。@Renato我不知道Mac附带了JDK 9,但我同意堆栈跟踪看起来像NetBeans 8.2正在尝试使用JDK 9。我已经更新了我的帖子,解释了如何告诉NetBeans在启动时使用哪个JDK。谢谢你的指点。conf文件中的这一行被注释掉了。当我将它设置为我最新的JDK8时,它工作了。我不知道它是如何尝试使用Java9的。。。我确实有安装了sdkman的EA版本,但它们不应该对NetBeans可见(或者??),因为我不使用它们。使用了@skomisa的windows建议,它对mac有效!这在MacOS 10.13.6上对我有效。我最初下载了Netbeans 8.2和JDK 10.0.2。Netbeans已启动,但无法打开新文件、新项目。我曾尝试在/Applications/netbeans/netbeans\8.2.app/Contents/Resources/NetBea中设置netbeans\u jdkhome
netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"