【问题标题】:jacob.dll already loadedin another classloaderjacob.dll 已经在另一个类加载器中加载
【发布时间】:2012-02-17 12:51:03
【问题描述】:

我在java中实现了一个webservice,webservice客户端也在java中。 webservice 和 webservice 客户端都在不同的项目中,我是使用 jacob 创建的 dll。

我的网络服务和网络服务客户端在同一台计算机上。现在每当我使用网络服务客户端调用网络服务时,都会遇到以下异常。

异常

org.apache.jasper.JasperException: javax.xml.ws.soap.SOAPFaultException: Native Library C:\Program Files (x86)\Java\jdk1.6.0_24\bin\jacob.dll 已经加载到另一个类加载器中 根本原因

javax.xml.ws.soap.SOAPFaultException: Native Library C:\Program Files (x86)\Java\jdk1.6.0_24\bin\jacob.dll 已经加载到另一个类加载器中 根本原因

java.lang.UnsatisfiedLinkError: Native Library C:\Program Files (x86)\Java\jdk1.6.0_24\bin\jacob.dll 已经加载到另一个类加载器中

【问题讨论】:

    标签: java jacob


    【解决方案1】:

    对于 JVM 的每个实例,jacob.dll 只能加载一次。 如果库 jacob.jar 被多次加载,它也会尝试多次加载 jacob.dll。

    为避免这种情况,请从两个 Web 服务中删除 jacob.jar,然后将其放置 到某个位置,这样两个 Web 服务共享的类加载器可以找到它jacob.jar 只会被加载一次。例如,如果您使用的是 tomcat,请将 jacob.jar 放在该 tomcat 的 /lib 目录中。

    【讨论】:

    • 谢谢pablo。我正在使用glassfish服务器,所以你告诉jacob.jar和jacob.dll将放入glassfish的lib文件夹中??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多