NetBeans could not start due to wrong JVM version, incompatible library and missing files

NetBeans could not start on a Xubuntu Linux system.

It displayed a splash screen, wrote the message Initializing for a few seconds and then quit.


The original distribution was Xubuntu 16.04 LTS which had been updated to Xubuntu 18.04 LTS.

Tried starting NetBeans from terminal and got these warnings:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.netbeans.ProxyURLStreamHandlerFactory (file:/usr/share/netbeans/platform18/lib/boot.jar) to field
WARNING: Please consider reporting this to the maintainers of org.netbeans.ProxyURLStreamHandlerFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release


Decided to check the startup activity with:

strace netbeans 2> netbeans_strace.txt

Noticed that NetBeans was looking for configuration files in 3 locations:

stat("/usr/share/netbeans/8.1/etc/netbeans.conf", {st_mode=S_IFREG|0644, st_size=2958, ...}) = 0
stat("/etc/netbeans.conf", {st_mode=S_IFREG|0644, st_size=2958, ...}) = 0
stat("~/.netbeans/8.1/etc/netbeans.conf", 0x7ffc7aae8df0) = -1 ENOENT (No such file or directory)


Decided to look for other files under: ~/.netbeans/8.1/

Found log files under: ~/.netbeans/8.1/var/log/

Part of: ~/.netbeans/8.1/var/log/messages.log

Product Version = NetBeans IDE 8.1 (Build 20180221-debian-8.1)
Java Home = /usr/lib/jvm/java-11-openjdk-amd64
java.lang.SecurityException: setContextClassLoader
at java.base/jdk.internal.misc.InnocuousThread.setContextClassLoader(


Discovered that NetBeans 8.1 requires JDK 8.

Found JDK 8 under:


Created the folder:


Then created the configuration file:


With a single line:



This seemed to help somewhat, because the splash screen continued until:

Turning on modules…

But then it quit again…


Found and examined: ~/.netbeans/8.1/var/log/messages.log

Noticed this part:

Product Version = NetBeans IDE 8.1 (Build 20180221-debian-8.1)
Java Home = /usr/lib/jvm/java-8-openjdk-amd64/jre
INFO [org.netbeans.modules.netbinox]: Install area set to file:/usr/share/netbeans/8.1/
at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(
at org.eclipse.osgi.framework.internal.core.Framework.<init>(
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.internalInit(
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.init(
at org.eclipse.osgi.launch.Equinox.init(
at org.netbeans.modules.netbinox.Netbinox.init(Unknown Source)
at org.netbeans.core.netigso.Netigso.prepare(Unknown Source)
at org.netbeans.NetigsoHandle.turnOn(Unknown Source)
at org.netbeans.ModuleManager.enable(Unknown Source)
INFO [null]: Last record repeated again.
at org.netbeans.core.startup.ModuleList.installNew(Unknown Source)
at org.netbeans.core.startup.ModuleList.trigger(Unknown Source)
at org.netbeans.core.startup.ModuleSystem.restore(Unknown Source)
at org.netbeans.core.startup.Main.getModuleSystem(Unknown Source)
INFO [null]: Last record repeated again.
at org.netbeans.core.startup.Main.start(Unknown Source)
at Source)


Found this site, which seemed to describe this part of the problem:


Checked the installed version of libequinox-osgi-java which was: 3.9.1-1

Downloaded: libequinox-osgi-java_3.8.1-10_all.deb



Installed the package with:

sudo dpkg -i libequinox-osgi-java_3.8.1-10_all.deb

Held the package at the old version with:

sudo apt-mark hold libequinox-osgi-java


Tried starting NetBeans again, but it still failed to start.

Found errors in: ~/.netbeans/8.1/var/log/messages.log


!ENTRY org.eclipse.osgi 4 0 2018-10-15 22:49:29.510
!MESSAGE Error reading configuration: Unable to create lock manager.
!STACK 0 Unable to create lock manager.


Tried running NetBeans as root with:

sudo netbeans

It started up without crashing…


It was still unable to start under the regular user account.

Noticed that it had created some files with root as owner:

!ENTRY org.eclipse.osgi 4 0 2018-10-15 23:05:36.425
!MESSAGE Error reading configuration: Permission denied
!STACK 0 Permission denied
at Method)
at org.eclipse.osgi.storagemanager.StorageManager.initializeInstanceFile(


Decided to change the file permissions with:

sudo chown $USER:$USER ~/.netbeans/ -R

sudo chown $USER:$USER ~/.cache/netbeans/ -R


This was the last step. After this NetBeans could finally start normally again.


If NetBeans fails to start on Ubuntu/Xubuntu 18.4 LTS try these things:

  • Check and change used JDK to version 8.
  • Downgrade libequinox-osgi-java package from 3.9.1-1 to 3.8.1-10 and hold/pin it.
  • Run NetBeans as root once.
  • Change NetBeans file permissions to normal user permissions.