我试图在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.
正如评论中指出的:
我曾尝试设置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"效果很好。
| 归档时间: |
|
| 查看次数: |
24133 次 |
| 最近记录: |