我正在将 Web 服务集成到我的 Web 应用程序中。 Web 服务为我提供了 .dll 和 .jar 文件。 我将 .dd 放在 /jre/bin 中,将 .jar 放在 /jre/lib 中 之后,我开发了代码并部署了应用程序。 在开发过程中,我还将 .jar 文件包含在我的项目构建路径中。 通过 Tomcat 运行它时,它给了我错误:
java.lang.UnsatisfiedLinkError: Native Library .dll already loaded in another classloader
有人可以告诉我我哪里错了吗? 我确实搜索了这个问题,但没有一个答案是明确的。
当我删除 .dll 或 .jar 文件时,我的程序失败并表示找不到它。 我也尝试从我的外部库中删除它,但这也不起作用
请帮忙
谢谢, 阿克谢
您不能两次加载同一个库。
将类粘贴到
/lib/
下的jar文件中,它将与其他.WAR文件共享。
我遇到了这个问题,并通过删除使用一个“.dll”的其他“.jar”文件来解决
如果您的项目和 tomcat/lib 中存在相同的 .jar 文件(并且可能位于 jre/bin 中),并且所有这些“.jar”都需要尝试获取一种资源,则会出现此问题。
我删除了所有 RxTxcomm.jar,除了 tomcat/lib 中的一个。
就我而言,我在“myproject/lib”、“tomcat/lib”和“jre/lib”中有“RxTxcomm.jar”,而rxtxserial.dll在jre/bin中。
所以我的问题解决了。