1个tomcat下有2个app都要用jacob生成word发生错误
Caused by: java.lang.UnsatisfiedLinkError: Native Library C:\WINDOWS\system32\jacob.dll already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.jacob.com.Dispatch.<clinit>(Dispatch.java)当然2个app分别单独跑都没什么问题应该怎么办?

解决方案 »

  1.   

    原因是dll在内存中只能出现一个副本调用并且是单独占用的,所以出现多个实现的类的时候要注意.
    Native Library C:\WINDOWS\system32\jacob.dll already loaded in another classloader 
    表明这个dll已经被另外一个类占用了.
    你最好将为这个调用dll的类做一个静态工厂.并顺序执行.
    要注意的是:现在用多线程操作jacob会死的很惨