Java Prefs error when using vaadin-maven-plugin::compile

I see the following error when building my Vaadin application:

Using com.vaadin:vaadin-client version 7.5.5 sep. 19, 2015 5:29:17 PM java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5. It seems there’s some software in the Maven tool chain that attempts to use the so-called
systemRoot()
from Java Preferences. On a Windows platform this translates into Windows Registry
HKLM
path where 99% of users do not have write access … unless they always run as Administrator with UAC turned off, and true those people will never see the above error message.

How can this be fixed?

(there are several reports on this but no solution as far as I can tell)

Is there any news about this issue - this seems to be related to Vaadin compiling with gwt ?
We used the workaround to create the necessary key in the Windows registry HKLM on development machines.
HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs

Yeah, I’ve done the same workaround. If you don’t mind, could you create an issue in
GitHub
?

-Olli

Done - there was already an issue ported over by vaadin-bot.
Here is the link to the bug in GitHub:

https://github.com/vaadin/framework/issues/7459

Thanks for bumping it.

-Olli

It looks like the bug is already tracked by the GWT Team as well: https://github.com/gwtproject/gwt/issues/8243
Regardless of the outcome the problem is within the JDK which has in older versions just created that registry node (which the workaround also does) and we have to wait until the fix makes it into either Java 8 or Java 9 (or both). Just the summary from the linkes github issue that I referenced before.

I started this thread, so I believe I have an obligation to “finish” it as well.

Below is a summary. You can read the full story
here
or
here
.

The warning comes as a result of code in the GWT compiler. But it is not the fault of the GWT compiler, it is actually a
JDK bug
. It is not correct when I first said that it was the result of some code calling the system prefs tree (as opposed to the user prefs tree). GWT compiler dudes have actually made no mistake in their code, so we cannot blame them, only the JDK is at fault. :slight_smile:

The warning can be safely
ignored
in vaadin context (i.e. the GWT compiler). It comes from the JDK attempting to instantiate the system prefs tree, but the GWT compiler does not make use of or reference the system prefs tree in any way. If you don’t want to look at the warning, then you can manually implement the registry key which it complains about. This will “hide” the bug at the cost of a registry key that shouldn’t be required in the first place. Or you can wait until Oracle pushes the fix into a Java release. It has been fixed in the JDK code base in June 2016, but as far as I can tell not yet pushed into any official Java release.

Personally, I’m just ignoring it.