我正在尝试在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)
看起来Java 9与它捆绑在一起并导致错误。该文档暗示NetBeans 8.2使用JDK 8!
如何使用我自己的java运行NetBeans,或者如何在没有此错误的情况下启动NetBeans?
答案 0 :(得分:8)
是的,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 ,然后再点击下载。< / p>
对于任何版本的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 =&#34; C:\爪哇\ jdk1.8.0_121&#34; 强>
更改该属性的值以指定所需JDK的路径,保存文件并重新启动NetBeans。
答案 1 :(得分:2)
macOS 10.13.5 将JavaJDK 10安装为“系统” JVM
我能够安装NetBeans,但无法使其运行。窗口将打开,单击“新项目”或“新文件”绝对没有任何作用。
可以通过进入以下位置的配置文件来使它运行(所有模块和服务器) / Applications / NetBeans / NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf
并在文件底部编辑注释掉的JDK路径!
干杯!
答案 2 :(得分:1)
如评论中所指出:
我曾尝试将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"
的效果很好。
答案 3 :(得分:0)
对于NetBeans 8.2,应使用JDK 1.8。如果您在MacBook上安装了JDK 1.9或JDK 10.0,则必须从计算机上卸载它。
答案 4 :(得分:0)
检查Mac上是否安装了Java JDK,NetBeans 8.2确实使用了JDK 1.8(Java SE 8)
/usr/libexec/java_home -V
Matching Java Virtual Machines (2):
12.0.1, x86_64: "Java SE 12.0.1" /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
1.8.0_211, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
如果不是,则只需安装(无需删除现有的JDK) https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
修改/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf
netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home"