When attempting to run the DBPasswordChanger utility on the DLP Enforce Server, it throws the following error and does not run:
Caught unhandled Java exception
java.lang.UnsatisfiedLinkError: no nio in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:578)
at sun.nio.fs.UnixNativeDispatcher$1.run(UnixNativeDispatcher.java:576)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.fs.UnixNativeDispatcher.<clinit>(UnixNativeDispatcher.java:576)
at sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:67)
at sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)
at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:46)
at sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:39)
at sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:56)
at sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:41)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.nio.fs.DefaultFileSystemProvider.createProvider(DefaultFileSystemProvider.java:48)
at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:63)
at java.io.FilePermission.<clinit>(FilePermission.java:191)
at sun.net.www.protocol.file.FileURLConnection.getPermission(FileURLConnection.java:225)
at java.net.URLClassLoader.getPermissions(URLClassLoader.java:666)
at sun.misc.Launcher$AppClassLoader.getPermissions(Launcher.java:360)
at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
Release : 15.8
OS : Linux
There are multiple jvmDirectory properties in the Configuration.txt file located at:
Linux: /opt/Symantec/DataLossPrevention/EnforceServer/version_number/Protect/config/DBPasswordChanger
Windows: drive_letter:\Program Files\Symantec\DataLossPrevention\EnforceServer\version_number\Protect\config\DBPasswordChanger
The incorrect file may look something like this:
mainClassName=com.vontu.util.passwordstore.DBPasswordChanger
jvmDirectory=/var/tmp/DLP/15.8/New_Installs/Release/jdk8u262-b10-jre
jvmDirectory=/opt/Symantec/DataLossPrevention/jdk8u262-b10-jre
There should only be one jvmDirectory property that points to the current working JVM that DLP Enforce is using.
Remove the incorrect jvm property from the Configuration.txt file, save the file, and then run the DBPasswordChanger utility again.
You many need to make the same change in the Configuration.txt file for the other respective utilities on the Enforce server, i.e. AdminPasswordReset, LanguagePackUtility, SolutionPackInstaller, ReinstallationResourcesUtility, etc.