要避免出现 'Native Library D:\syySdfHsm\msvcr110.dll already loaded in another classloader' 错误,可以使用 Java 的 'System.loadLibrary()' 方法来加载动态链接库,而不是使用 'System.load()' 方法。

首先,确保你的代码中只有一个地方加载 msvcr110.dll,最好在主类的静态代码块中加载。接下来,将 msvcr110.dll 的加载移到一个单独的类中,并将其声明为静态方法。这样,你只需要在需要加载 dll 的地方调用这个静态方法即可。

以下是示例代码:

public class NativeLibraryLoader {
    public static void loadMsvcr110() {
        System.loadLibrary('msvcr110');
    }
}

然后,在你的主类中,可以在静态代码块中调用 'NativeLibraryLoader.loadMsvcr110()' 来加载 msvcr110.dll:

public class MainClass {
    static {
        NativeLibraryLoader.loadMsvcr110();
    }

    public static void main(String[] args) {
        // ...
    }
}

通过以上方法,你可以避免 'Native Library already loaded in another classloader' 错误,并正确加载 msvcr110.dll。


原文地址: https://www.cveoy.top/t/topic/qqKo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录