安装为 snap 包时如何配置 netbeans?

How to configure netbeans when installed as snap package?

我通过 snap 在 Ubuntu 18.04 上安装了 Netbeans 11.2。

现在我想配置 Netbeans,修改 netbeans.conf。此文件位于 /snap/netbeans/current/netbeans/etc/ 并挂载为只读文件系统。所以我假设你不应该在这里编辑这个文件。

如果经典方式(编辑 netbeans.conf)被阻止,我该如何配置 Netbeans?

注意:我要设置netbeans_jdkhome="~/.sdkman/candidates/java/latest/".

更新

这个有效:

netbeans --jdkhome ~/.sdkman/candidates/java/latest

使用 snap 无法直接解决您的问题。参见“Why can snap files not be modified in any way?”:

It's impossible to change the contents of the snap without re-building the snap. This is primarily a security measure, to ensure that the snap hasn't been tampered with.

但是,有一个解决方法:在启动 NetBeans 时使用 --jdkhome 参数传递要使用的 JDK 的路径。例如,要在我的 PC 上使用 Windows 上的 JDK 8 启动 NetBeans 11.2:

C:\NetBeans112\bin\netbeans.exe --jdkhome C:\Java\jdk1.8.0_221

有关详细信息,请参阅 Can I specify the JDK to run NetBeans on?

您可以拥有用户本地版本的 netbeans 配置。只需将全局 netbeans.conf 从全局快照位置复制到您的 Netbeans 用户目录并在那里进行更改。

Netbeans 11.3 版示例:

mkdir -p ~/snap/netbeans/common/data/11.3/etc
cp /snap/netbeans/current/netbeans/etc/netbeans.conf ~/snap/netbeans/common/data/11.3/etc/netbeans.conf
gedit ~/snap/netbeans/common/data/11.3/etc/netbeans.conf

注意:每当用户目录因版本更新而更改时,您都需要重复此过程。 IE。从 11.3 -> 12 等

这一直有效到 12.4。较新版本的 Snap 包更改了 NetBeans userdir 的位置,因此上面的脚本如下所示:

mkdir -p ~/snap/netbeans/current/etc
cp /snap/netbeans/current/netbeans/etc/netbeans.conf ~/snap/netbeans/current/etc/netbeans.conf
gedit ~/snap/netbeans/current/etc/netbeans.conf

注意:您不需要对版本更新重复此过程。