NetBeans 8.2无法在Mac OS上打开

时间:2017-10-02 17:52:37

标签: 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)

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

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

5 个答案:

答案 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"