NetBeans 无法启用所有请求的模块。

我知道这个问题已经被提过了,但是给出的解决方案对我来说不起作用。 我添加了webupd8team/java仓库并安装了oracle-java8-installeroracle-java8-set-default。 我从netbeans.org下载了NetBeans 8.1(完整版),安装了它,但是在启用java模块时失败了,显示了一个无法启用的netbeans所有模块的列表。
我还运行了sudo update-alternatives --config java,输出如下:
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java   1         auto mode
* 1            /usr/lib/jvm/java-8-oracle/jre/bin/java   1         manual mode

JDK似乎丢失。

当我运行java -versionjavac -version时,我得到了正确的输出。

我还尝试运行命令netbeans --jdkhome /usr/lib/jvm/java-8-oracle,但没有成功。我收到一个错误消息,说NetBeans未安装。

现在,所有这些问题只发生在我从网站下载的版本上。当我使用Shell安装NetBeans(sudo apt-get install netbeans)时,一切正常运行。

问题是,我需要从网站上下载完整版本,因为我正在使用HTML5、CSS、J2EE和GlassFish服务器支持。

非常感谢您的帮助。

4个回答

去/etc目录并打开netbeans.conf文件。
注意:你可以使用ls -l $(which netbeans)命令找到netbeans的根目录。
确保变量netbeans_jdkhome的值是正确的,类似于:
netbeans_jdkhome="/usr/lib/jvm/java-8-oracle"

+1 或 /usr/local/java/java-8-oracle - Zon
2对于OpenJDK,将netbeans_jdkhome设置为"/usr/lib/jvm/java-8-openjdk-amd64/"。 - ArMo 372
"NetBeans根目录/等等"在哪里? - fedd
1@fedd 对于 根目录ls -l $(which netbeans) 命令会给出类似 /usr/local/netbeans-8.2/ 的答案... - Philippe Gachoud

要么编辑/usr/local/netbeans-X.Y/etc/netbeans.conf文件,使其包含以下内容。
netbeans_jdkhome="/usr/lib/jvm/java"

或者使用以下命令:
/usr/local/netbeans-X.Y/bin/netbeans --jdkhome /usr/lib/jvm/java

编辑 /usr/local/netbeans-X.Y/etc/netbeans.conf 文件
netbeans_jdkhome="/usr/lib/jvm/java-8-openjdk-amd64"

我不明白这句话的意思。你作为读者应该如何处理netbeans_jdkhome="/usr/lib/jvm/java-8-openjdk-amd64"这个片段呢?能否请你编辑一下你的帖子来解释一下?谢谢。 - David Foerster

这意味着 netbeans.conf 文件(位于两个位置)没有正确设置。要解决这个问题,你可以尝试以下步骤:
首先:打开终端,进入 /etc 目录。
cd /etc

第二步:以超级用户(sudo)身份打开netbeans.conf文件。
sudo gedit netbeans.conf

第三步:编辑与您的JVM(Java虚拟机)文件夹对应的行。它看起来像#netbeans_jdkhome="/usr/lib/jvm/java-8-openjdk-amd64/"
根据您的JVM版本更改本地设置。
要找出您使用的JVM版本,请在终端中键入并转到JVM文件夹。
cd /usr/lib/jvm

看一下包含JVM的文件夹叫什么名字。例如,我的名字是java-8-openjdk-amd64。
第四步:让我们编辑位于您的Netbeans安装文件夹中的第二个netbeans.conf文件。打开一个终端窗口并输入以下命令(这里我将使用Netbeans 8.2版本):
cd /netbeans-8.2/etc

打开netbeans.conf文件,以超级用户(sudo)身份在编辑器中打开。
sudo gedit netbeans.conf

最后一步:编辑与您的JVM(Java虚拟机)文件夹对应的行。它看起来像#netbeans_jdkhome="/usr/lib/jvm/java-8-openjdk-amd64/"不要忘记通过删除#字符取消注释该行。 现在保存文件,关闭Netbeans并重新运行! 它可以工作了!

永远不要使用sudo来运行图形界面程序,这样做是不正确的。最好使用sudo -H gedit - nobody