使用官方安装程序安装 Netbeans 12.0 时出错

Error on installing Netbeans 12.0 using the official installer

问题描述:

我正在尝试使用官方 Netbeans 安装程序在 Debian“Buster”上安装 Netbeans 12.0。虽然发生以下异常:

No protocol specified
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"

也许您知道上述问题的解决方案?

感谢您的宝贵时间!

注意: 我知道我可以将 Netbeans 12.0 作为 snap 包安装,但我对此不感兴趣。


已执行的步骤:

1) 在终端中,我以 root 用户身份登录:

$ su

Password: ***

2) 我安装了包 openjdk-11-jdk:

$ apt install default-jdk

3)然后我查看了java版本:

$ java --version

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)

4)我把官方文档(Downloading Apache NetBeans 12.0)指定的三个文件下载到"~/Downloads"文件夹:

5) 我导航到 “下载” 文件夹:

$ cd Downloads

6) 我在 Netbeans 安装程序文件上设置了 执行 权限:

$ chmod +x Apache-NetBeans-12.0-bin-linux-x64.sh

7) 因为 Netbeans 文档指定了这一点:

Officially, it is important that you verify the integrity of the downloaded files using the PGP signatures (.asc file) [...]. The PGP signatures should be matched against the KEYS file which contains the PGP keys used to sign this release.

我按照他们在 link 中提供的两个步骤(使用 gpg 的步骤)来验证安装程序的完整性:

7.a) 正在导入 KEYS 文件:

$ gpg --import KEYS

gpg: Schlüssel B4C1940FEA9364F1: "Jan Lahoda (Key for signing Apache NetBeans & co. releases.) <jlahoda@apache.org>" nicht geändert
gpg: Schlüssel 13E9F7AE3A4FD551: "geertjan@apache.org (Key for signing Apache NetBeans & co. releases.) <geertjan@apache.org>" nicht geändert
gpg: Schlüssel CF7BA0AB1CCF4647: "Emilian Marius Bold <emi@apache.org>" nicht geändert
gpg: Schlüssel B2BF814FA145CB2D: "Laszlo Kishalmi (CODE SIGNING KEY) <lkishalmi@apache.org>" nicht geändert
gpg: Schlüssel 4A2601CEDA9382F3: "Eric Barboni (Signing Key) <skygo@apache.org>" nicht geändert
gpg: Schlüssel 3703AC389A12A9D4: "Neil C Smith <neilcsmith@apache.org>" nicht geändert
gpg: Schlüssel 57D5896CD86C1320: "Reema Taneja (Code Signing Key) <rtaneja@apache.org>" nicht geändert
gpg: Schlüssel E860B148D27236F9: "Jaroslav Tulach (Key for signing Apache NetBeans & co. releases.) <jtulach@apache.org>" nicht geändert
gpg: Schlüssel 6FA863B0C32A18B1: Öffentlicher Schlüssel "Arunava Sinha (CODE SIGNING KEY) <arusinha@apache.org>" importiert
gpg: Schlüssel 3ED477750C09D18D: Öffentlicher Schlüssel "John McDonnell (CODE SIGNING KEY) <johnmcdonnell@apache.org>" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 10
gpg:                              importiert: 2
gpg:                             unverändert: 8

7.b) 验证签名:

$ gpg --verify Apache-NetBeans-12.0-bin-linux-x64.sh.asc

gpg: die unterzeichneten Daten sind wohl in 'Apache-NetBeans-12.0-bin-linux-x64.sh'
gpg: Signatur vom Di 09 Jun 2020 17:50:58 CEST
gpg:                mittels RSA-Schlüssel 8FE1C26F15E0320E740BAED84A2601CEDA9382F3
gpg:                Aussteller "skygo@apache.org"
gpg: Korrekte Signatur von "Eric Barboni (Signing Key) <skygo@apache.org>" [unbekannt]
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck  = 8FE1 C26F 15E0 320E 740B  AED8 4A26 01CE DA93 82F3

8)最后我执行了安装程序:

$ sh Apache-NetBeans-12.0-bin-linux-x64.sh

Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
No protocol specified

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"

我也尝试使用 "bash" 命令:

$ bash Apache-NetBeans-12.0-bin-linux-x64.sh

"./":

$ ./Apache-NetBeans-12.0-bin-linux-x64.sh

不幸的是,每次的结果都是一样的:

No protocol specified
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"

更新:

@Kryštof Vosyka 给出了可行的解决方案:以当前用户身份安装 Netbeans 12.0, 而不是 作为 root 用户。

为了应用他的解决方案,除了步骤 6(设置 execute Netbeans 安装程序文件的权限)。

我遇到了同样的问题,解决方法很简单:

不要以 root 身份启动安装。

安装程序是图形化的,root 用户无法为您的用户真正打开 windows,因此失败。 但是不知道如何为所有用户安装它。