如何同时从 Tomcat 服务器上的两个不同的 SpringBoot 应用程序加载 DLL?
How can I load a DLL from two different SpringBoot applications on a Tomcat server at the same time?
我正在尝试将同一个 Spring-Boot 应用程序的两个版本(主版本、开发版本)部署到 Tomcat 8 服务器中,但我无法加载它需要的 DLL上班。
如果我部署应用程序的单个版本(master 或 develop),它就像一个魅力,但如果我尝试部署另一个,它会抛出 java.lang.UnsatisfiedLinkError
。
DLL 在 Tomcat 的 bin 文件夹中。
看来我无法同时从两个应用程序加载 DLL(从未听说过)或者第二个应用程序不知何故正在其他地方寻找它们...
我对每个应用程序都有不同的配置文件,我尝试以各种方式指定 DLL 的位置:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Parameter name="spring.profiles.active" value="production"/>
<Parameter name="spring.config.location" value="<path to properties>"/>
<!-- This did not work -->
<Environment name="LD_LIBRARY_PATH" value="<Path to DLLs>" type="java.lang.String"/>
<!-- Neither did this -->
<Environment name="java.library.path" value="<Path to DLLs>" type="java.lang.String"/>
</Context>
有什么方法可以告诉 Tomcat 从每个应用程序的不同文件夹加载 DLL?
为什么我不能对它们使用同一个 DLL?
非常感谢任何帮助。
根据 看来你不能在一个 JVM 上加载一个 DLL 两次,所以我们 "fixed" 它有两个不同的 Tomcat 服务器。
我正在尝试将同一个 Spring-Boot 应用程序的两个版本(主版本、开发版本)部署到 Tomcat 8 服务器中,但我无法加载它需要的 DLL上班。
如果我部署应用程序的单个版本(master 或 develop),它就像一个魅力,但如果我尝试部署另一个,它会抛出 java.lang.UnsatisfiedLinkError
。
DLL 在 Tomcat 的 bin 文件夹中。
看来我无法同时从两个应用程序加载 DLL(从未听说过)或者第二个应用程序不知何故正在其他地方寻找它们...
我对每个应用程序都有不同的配置文件,我尝试以各种方式指定 DLL 的位置:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Parameter name="spring.profiles.active" value="production"/>
<Parameter name="spring.config.location" value="<path to properties>"/>
<!-- This did not work -->
<Environment name="LD_LIBRARY_PATH" value="<Path to DLLs>" type="java.lang.String"/>
<!-- Neither did this -->
<Environment name="java.library.path" value="<Path to DLLs>" type="java.lang.String"/>
</Context>
有什么方法可以告诉 Tomcat 从每个应用程序的不同文件夹加载 DLL?
为什么我不能对它们使用同一个 DLL?
非常感谢任何帮助。
根据 看来你不能在一个 JVM 上加载一个 DLL 两次,所以我们 "fixed" 它有两个不同的 Tomcat 服务器。