diff --git a/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java b/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java index 43da6b863f..b3cb3b5de9 100644 --- a/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java +++ b/common/src/main/java/io/netty/util/internal/NativeLibraryLoader.java @@ -113,6 +113,17 @@ public final class NativeLibraryLoader { // Adjust expected name to support shading of native libraries. String name = calculatePackagePrefix().replace('.', '_') + originalName; + try { + // first try to load from java.library.path + loadLibrary(loader, name, false); + logger.debug("{} was loaded from java.libary.path", name); + return; + } catch (Throwable ex) { + logger.debug( + "{} cannot be loaded from java.libary.path, " + + "now trying export to -Dio.netty.native.workdir: {}", name, WORKDIR, ex); + } + String libname = System.mapLibraryName(name); String path = NATIVE_RESOURCE_HOME + libname; @@ -125,12 +136,6 @@ public final class NativeLibraryLoader { } } - if (url == null) { - // Fall back to normal loading of JNI stuff - loadLibrary(loader, name, false); - return; - } - int index = libname.lastIndexOf('.'); String prefix = libname.substring(0, index); String suffix = libname.substring(index, libname.length());