小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在windows 环境下 整合企业微信会话存档提供的sdk 时出现 java.lang.UnsatisfiedLinkError: WeWorkFinanceSdk.dll: Can't find dependent libraries 异常 请问应该如何放置这个dll文件 以供程序读取呢
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
System.load(path.concat("libcrypto-1_1-x64.dll")); System.load(path.concat("libssl-1_1-x64.dll")); System.load(path.concat("libcurl-x64.dll")); System.load(path.concat("WeWorkFinanceSdk.dll")); // 这里的加载顺序非常重要!否则会出现 Can't find dependent libraries 的问题
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
https://github.com/yang2wuhen/work_wx springboot集成企业微信包括会话存档,有问题可以联系 15901154143
https://zhuanlan.zhihu.com/p/37686736 参考这个,在maven打包的时候将dll和so文件打进jar中,然后讲加载文件的代码改一下:
static { if (isWindows()) { String path = Finance.class.getResource("").getPath().replaceAll("%20", " ").replaceFirst("/", "").replace("/", "\\\\"); //加载顺序不要变 System.load(path.concat("libeay32.dll")); System.load(path.concat("libprotobuf.dll")); System.load(path.concat("ssleay32.dll")); System.load(path.concat("libcurl.dll")); System.load(path.concat("WeWorkFinanceSdk.dll")); } else { String path = Finance.class.getResource("").getPath(); System.load(path.concat("libWeWorkFinanceSdk_Java.so")); } } public static boolean isWindows() { String osName = System.getProperties().getProperty("os.name"); System.out.println("current system is " + osName); return osName.toUpperCase().indexOf("WINDOWS") != -1; }
解决了吗?急急急
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
System.load(path.concat("libcrypto-1_1-x64.dll")); System.load(path.concat("libssl-1_1-x64.dll")); System.load(path.concat("libcurl-x64.dll")); System.load(path.concat("WeWorkFinanceSdk.dll")); // 这里的加载顺序非常重要!否则会出现 Can't find dependent libraries 的问题
https://github.com/yang2wuhen/work_wx springboot集成企业微信包括会话存档,有问题可以联系 15901154143
https://zhuanlan.zhihu.com/p/37686736 参考这个,在maven打包的时候将dll和so文件打进jar中,然后讲加载文件的代码改一下:
static { if (isWindows()) { String path = Finance.class.getResource("").getPath().replaceAll("%20", " ").replaceFirst("/", "").replace("/", "\\\\"); //加载顺序不要变 System.load(path.concat("libeay32.dll")); System.load(path.concat("libprotobuf.dll")); System.load(path.concat("ssleay32.dll")); System.load(path.concat("libcurl.dll")); System.load(path.concat("WeWorkFinanceSdk.dll")); } else { String path = Finance.class.getResource("").getPath(); System.load(path.concat("libWeWorkFinanceSdk_Java.so")); } } public static boolean isWindows() { String osName = System.getProperties().getProperty("os.name"); System.out.println("current system is " + osName); return osName.toUpperCase().indexOf("WINDOWS") != -1; }
解决了吗?急急急