不满意的链接错误:本机库C:\Domino\nlsxbe.dll已加载到另一个类加载器中



我有一个计时器进程,它读取lotusnotes5并将读取的文档转储到modeshape存储库中。该过程将时间戳和其他相关信息写入DB表,并使用它来获取停止的位置,然后读取其余的文档。

当应用程序被取消部署并重新部署时,问题就出现了。当我这样做时,当用Lotus notes创建会话时,它会抛出一个异常:

ava.lang.UnsisfiedLinkError:本机库C:\Domino\nlsxbe.dll已加载到另一个类加载器中

这是显而易见的,因为重新部署并没有从JVM中删除依赖的dll和Jar。我需要一个解决方案,在该解决方案中,我可以从JVM中删除依赖项,或者在下次尝试创建会话时引用相同的dll和资源。

注意-我没有LOTUS notes api尝试加载依赖项的代码,我甚至不知道创建连接所需的依赖api和DLL,所以我将LOTUS notes domino客户端的整个安装文件夹移到了我的java.library.path

请帮帮我,这简直把我逼疯了。这可能是一个非常简单的问题,但我需要一些专家的建议,如何以更好的方式实现这一点。

我修复了它。我删除了NotesThread类,发现它总是试图在classloader中加载nlsxbe.dll,这导致了问题。我放弃了使用NotesThreads(以及未来任何IBMAPI)的想法,转而使用java线程,从而解决了这个问题。

相关内容

最新更新