启动执行“”的 Spring bean 时,vFabric tc 服务器无法加载我的 JNI 库System.loadLibrary("...")
。实际上,我需要从部署在 vFabric tcServer 版 (STS) Spring Tools Suite 中的 Spring bean 中执行一些 JNI 共享库。
尽管我遵循了“为 vFabric tc Server (2030216) 自定义环境或 JVM 选项”中的建议,但仍然不断弹出错误:“ nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [my.JniServiceFactory]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: no myJNIsharedLib in java.library.path
”
我进一步发现wrapper.log
了 tc 服务器实例.../bin/winx86_64
目录中的文件错误:Unable to open configuration file. C:\java\SpringTools\vfabric-tc-server-developer-2.9.6.RELEASE\base-instance\bin\winx86_64\wrapper.conf
并且在命令行执行包装器时还发现了错误:wrapper -q ..\..\conf\wrapper.conf
, yielding wrapper | OpenSCManager failed - Access is denied. (0x5)
,这表明存在 UAC 问题。所以我将我的 Windows 帐户提升为管理员,甚至关闭了 UAC ......这解决了 wrapper.exe 错误,但在 tc 服务器中启动我的应用程序时没有解决 UnsatisfiedLinkError。
我还在setenv.bat
tc 服务器实例目录下发现了一个 ' ' 文件,其中包含set JAVA_LIBRARY_PATH=
邀请您定义它的行 ' ',但没有效果。我还尝试在我的系统属性下设置一个全局环境变量 JAVA_LIBRARY_PATH ,因此在启动 Spring Tools 然后启动 tc 服务器时可用......没办法。