我无法在Netbeans上启动新项目。

问题:
当我打开“添加新项目”对话框(如下图所示),我无法创建新项目。加载消息(沙漏图标)一直停留在那里,除了“取消”按钮外,其他按钮都被禁用。
几天前它还正常工作,出现问题之前我没有更改任何设置。我运行了内部更新功能,但问题仍然存在。

enter image description here

相关信息:

我的操作系统版本: Ubuntu 12.04.2 LTS 64位

Netbeans版本:

帮助 -> 关于

Product Version: NetBeans IDE 7.2.1 (Build 201210100934)
Java: 1.6.0_27; OpenJDK 64-Bit Server VM 20.0-b12
System: Linux version 3.2.0-49-generic running on amd64; UTF-8; pt_BR (nb)
User directory: /home/user/.netbeans/7.2.1
Cache directory: /home/user/.cache/netbeans/7.2.1

我尝试过的方法:

  • 使用--laf命令行选项更改外观和感觉。外观确实改变了,但问题仍然存在。
  • 使用内部更新命令,一个插件得到了更新,但问题仍然存在。
  • 下载并安装最新版本(7.31),它导入了之前版本的设置,但问题仍然存在。
  • 删除设置文件夹~/.netbeans/7.3.1,重新启动NetBeans,选择不导入设置,而是进行全新的安装。

非常相关:https://netbeans.org/bugzilla/show_bug.cgi?id=122202 - That Brazilian Guy
8个回答

刚刚在这里发布了同样的问题here...对我来说解决办法是将OpenJDK从6b27降级到6b24(详细信息请查看链接)。
我的NetBeans看起来完全和你的截图一样,还有其他一些奇怪的问题。
我建议你运行java -version,如果显示你安装了6b27,并且cat /var/log/dpkg.log | grep openjdk显示你最近收到了OpenJDK更新,你可以尝试使用以下命令恢复到6b24来解决问题:
apt-get install openjdk-6-jre=6b24-1.11.1-4ubuntu2 openjdk-6-jre-headless=6b24-1.11.1-4ubuntu2 icedtea-6-jre-cacao=6b24-1.11.1-4ubuntu2

****编辑****
由于我发现了一些其他问题(NetBeans中无法建立SSH连接),我最终决定升级到Oracle JDK7。要使用另一个JDK启动NetBeans,你需要编辑./netbeans-7.X/etc/netbeans.conf文件,并修改netbeans_jdkhome="/usr/lib/jvm/java-7-oracle/jre"这一行(我猜这是在NetBeans安装过程中生成的)。否则,无论java -version显示什么,它仍然会使用你的旧JDK。

2好建议!你也可以尝试一下Java 7,因为JDK 7和OpenJDK的等效版本已经发布了很长时间,所以没有理由继续使用Java 6.x。 - allquixotic
@somequixotic 我在笔记本上更新了它,但是奇怪的是NetBeans的问题仍然存在。也许它仍然在底层使用OpenJDK?java -version 显示的是 java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) - s1lv3r
啊哈!dpkg.log显示了7月24日的upgrade openjdk-6-jre-lib 6b27-1.12.5-0ubuntu0.12.04.1 6b27-1.12.6-1ubuntu0.12.04.2以及其他两个类似的记录。这是在我离开度短假之前的一天,Netbeans还能正常工作。可能就是它引起的问题! - That Brazilian Guy
1@ruda.almeida 降级解决了我在新项目中遇到的问题,但后来我又遇到了其他问题(与SSH有关)。所以对我来说真正的最终解决方案是安装openjdk-7-jre(或者是Oracle版本 - 两者都可以),并在netbeans.conf中更改路径。 - s1lv3r
1以防万一:对我来说,安装“sudo apt-get install openjdk-7-jre”是有效的,但在配置文件中的路径应为netbeans_jdkhome="/usr/lib/jvm/java-7-openjdk-amd64/jre",而不是你在回答中提供的那个。 - leticia
@gsc-leticia 嗯,那很有道理。我问题中提到的路径是针对 Oracle 版本而不是 OpenJDK 版本的。 - s1lv3r
@s1lv3r 当然可以,只是为了存档目的 :) - leticia
我将netbeans_jdkhome更改为"/usr/lib/jvm/java-7-openjdk-amd64/jre",但现在netbeans无法启动。 路径是正确的。 有什么帮助吗? - neo1691
@neo1691 你能否尝试通过命令行启动并查看它是否产生了任何输出? - s1lv3r
我通过安装JDK修复了它。只有JRE存在。 - neo1691
我遇到了同样的问题,并通过这个答案解决了它,但是我还不得不删除/home/username/.netbeans目录中的旧用户设置。因为在升级到较新的Java版本后,NetBeans尝试启动,但在启动时突然关闭。删除旧的设置允许NetBeans重新创建它们,一切都正常工作。 - Mikhail

这是由使用的JDK版本引起的一个bug:
这个问题是JDK焦点bug(请求焦点时出现无限循环)。 已经向JDK提交了问题报告,编号为http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6598089。(IcedTea和未来的OpenJDK将作为Linux发行版的默认JDK,因此应该得到支持。)
这个bug似乎影响Oracle JDK和OpenJDK。请更新您的JDK以修复它。(不要忘记在./netbeans-7.X/etc/netbeans.conf文件中更改netbeans_jdkhome变量!)


...忘了提到的话,要么重新安装NetBeans,要么更新netbeans.conf文件以使用新的JRE。 - user180187
这对我来说看起来是一个有效的答案。 - Pilot6

我曾经遇到过同样的问题,还有其他一些问题,试图让Netbeans在12.04LTS上运行,以下是我成功获得完整工作副本的方法。
我(请不要开枪打我)使用了Windows设备从Netbeans网站下载了完整的Netbeans软件包。
然后,我将.sh文件传输到我的桌面,接着我需要更改权限以允许执行该文件,使用以下命令:
sudo chmod +x netbeans-7.4-linux.sh

然后我只需使用以下步骤安装该文件;

./netbeans-7.4-linux.sh

Netbeans在应用程序中没有显示出来,但是桌面上有一个启动器。
希望这对某人有所帮助 :)

对我来说,改变是必然的。
netbeans_jdkhome="/usr/lib/jvm/java-6-openjdk-amd64"

netbeans_jdkhome="/usr/lib/jvm/java-7-openjdk-amd64"

在netbeans.conf文件中起作用了。:) :)

1这个答案还不完整,它只适用于已经安装了Java 7的情况下,如果你使用的是openJDK,如果你的处理器架构是amd64等等。 - That Brazilian Guy


尝试了Nimbus、Metal、GTK等不同的外观,但无论如何改变,那些无法点击的按钮和永远加载的问题仍然存在。 - That Brazilian Guy
Netbeans的哪个版本?从控制台运行Netbeans时,控制台上有什么输出? - allquixotic
如果从命令行启动,控制台上没有任何内容。 - That Brazilian Guy
在这次封锁之前,你有任何重要的项目吗? - mojo706
@mojo706 不,我已经备份了我拥有的那些。 - That Brazilian Guy
重新安装试试?大多数情况下都有效。 - mojo706
@mojo706 如问题所述,我已经做了。 - That Brazilian Guy

我昨晚在Ubuntu 13.04上遇到了同样的问题。
我已经安装了openjdk 6,安装成功,但是当我尝试创建新项目时,netbeans卡住了。
今天,在我对着电脑大喊并吓到女朋友后,我终于解决了这个问题 :)
我相当确信这解决了问题。
请访问https://netbeans.org/community/releases/73/install.html#install_windows,你会看到你需要对安装程序进行chmod操作。
chmod +x installer-file-name

在安装之前...
sh installer-file-name

一旦我这样做了,我在桌面上得到了一个可执行的NetBeans(由于某种原因未列在应用程序中)。
关于安装程序需要注意的一点是,对我来说,它说无法访问一些JUNIT包,我选择了“退出这些模块”或类似的选项,然后剩下的安装过程顺利进行。
希望这也能解决你的问题!

我不得不对安装程序进行chmod +x操作,否则它甚至无法安装新版本。这并不是导致我的问题的原因。 - That Brazilian Guy
@Ruda,我做的另一件不同的事情是在安装任何其他更新之前先安装了NetBeans(即重新安装Ubuntu,并仅安装了JDKs(6和7)然后再安装NetBeans)。其他尝试的方法:使用jdk7和6运行安装程序,看看它们之间是否有任何不同的反应。很抱歉我的答案没有帮助到你。 - planty182

我通过升级到 open-jdk 7 解决了它。