2012-02-17 3 views
3

Я внедряю веб-сервис в java и клиент webservice также в java. оба клиента webservice ane webservice находятся в другом проекте, и я создал dll с помощью jacob.jacob.dll уже загружен в другой загрузчик классов

Мой клиент Webservice и webservice находится на том же самом компьютере.на всякий раз, когда я вызываю веб-сервис с помощью клиента webservice, чем столкнулся с следующим исключением.

исключение

org.apache.jasper.JasperException: javax.xml.ws.soap.SOAPFaultException: Native библиотека C: \ Program Files (x86) \ Java \ jdk1.6.0_24 \ Bin \ jacob.dll уже загружен в другой загрузчик классов первопричину

javax.xml.ws.soap.SOAPFaultException: Native библиотека C: \ Program Files (x86) \ Java \ jdk1.6.0_24 \ Bin \ jacob.dll уже загруженной в другой загрузчик классов основная причина

java.lang.UnsatisfiedLinkError: родная библиотека C: \ Program Files (x86) \ Java \ jdk1.6.0_24 \ bin \ jacob.dll уже загружен в другой загрузчик классов

ответ

6

jacob.dll может быть загружен только один раз для каждого экземпляра JVM. Если библиотека jacob.jar загружается более одного раза, она будет пытаться загрузить jacob.dll более одного раза.

Чтобы избежать этого, удалить в jacob.jar из обоих веб-сервисов и поместить его в каком-то месте, где его можно найти с помощью загрузчика классов, что оба WebServices акцию, таким образом jacob.jar будет загружен только один раз. Например, если вы используете tomcat, поместите jacob.jar в каталог/lib этого tomcat.

+0

Спасибо pablo.Я использую сервер из морской рыбы, так что вы сказали jacob.jar и jacob.dll поместили в папку lib из стеклянной рыбы ??? – tapanmodh