I guess the problem may come from the fact that the lucene class is loaded
from a class which is in the parent classloader for some reason. Thus, the
lucene jar in the SU would not be used at all.
Carl, can you first try to put the lucene jar in the servicemix classpath
(lib/optional for example) ?
On 5/23/07, Gert Vanthienen <[EMAIL PROTECTED]> wrote:
Carl,
Can you try to add the classpath entry to your xbean.xml file, even
though it shouldn't be necessary with ServiceMix 3.1? Something like:
<classpath>
<location>lib/lucene-core.jar</location>
</classpath>
Gert
Carl23 wrote:
> The jar does appear in the lib directory, and I am using ServiceMix 3.1.
>
> Still getting this really annoying error though....
>
> thanks anyway
>
> Carl
>
>
>
> Gert Vanthienen wrote:
>
>> Carl,
>>
>>
>> Sorry, my mistake, they lucene-core.jar should be in the JSR-181 SU zip
>> file. If it is in a directory called lib within this archive, starting
>> with version 3.1, ServiceMix should add it to the classpath
>> automatically. If it is in the root of the archive, you have to add it
>> to the classpath yourself by specifying this in your xbean.xml file.
>> <classpath>
>> <location>lucene-core.jar</location>
>> </classpath>
>>
>> Have a look at http://incubator.apache.org/servicemix/classloaders.html
>> for more details...
>>
>>
>> Cheers,
>>
>> Gert
>>
>> Carl23 wrote:
>>
>>> Hi - thanks for replying
>>>
>>> I'm not sure what you mean exactly (I'm still very new to this)
>>> Where would this Service Assembly zip file be?
>>>
>>> I have a jsr181 service unit, a http service unit, and a service
asembly.
>>> The jsr181 service unit's target folder contains the lucene-core jar,
and
>>> the service assembly's target folder contains the .zips for both the
>>> service
>>> units, which all seems correct to me. But I can't see a service
assembly
>>> .zip anywhere.
>>>
>>> Cheers!
>>>
>>> Carl
>>>
>>>
>>> Gert Vanthienen wrote:
>>>
>>>
>>>> L.S.,
>>>>
>>>> Can you check if you SA zip file contains the necessary JAR files for
>>>> lucene (they should be in a lib folder within the archive)?
>>>>
>>>> Regards,
>>>>
>>>> Gert
>>>>
>>>> Carl23 wrote:
>>>>
>>>>
>>>>> Hi - hoping someone can help with this,
>>>>>
>>>>> I'm having trouble deploying a service unit to service mix that
>>>>> contains
>>>>> lucene code. It deploys fine when I remove all uses of the lucene
API,
>>>>> but i
>>>>> get the following error output from the servicemix server while
>>>>> attempting
>>>>> to deploy the service unit if it tries to make lucene API calls:
>>>>>
>>>>> ERROR - AutoDeploymentService - Failed to update Service
>>>>> Assembly:
>>>>> eir-
>>>>> expand-sa
>>>>> java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
>>>>> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
>>>>> version="1.0
>>>>> ">
>>>>> <jbi-task-result>
>>>>> <frmwk-task-result>
>>>>> <frmwk-task-result-details>
>>>>> <task-result-details>
>>>>> <task-id>deploy</task-id>
>>>>> <task-result>FAILED</task-result>
>>>>> <message-type>ERROR</message-type>
>>>>> </task-result-details>
>>>>> </frmwk-task-result-details>
>>>>> </frmwk-task-result>
>>>>> <component-task-result
>>>>> xmlns="http://java.sun.com/xml/ns/jbi/management-message"
>>>>>
>>>>> <component-name>servicemix-http</component-name>
>>>>> <component-task-result-details>
>>>>> <task-result-details>
>>>>> <task-id>deploy</task-id>
>>>>> <task-result>SUCCESS</task-result>
>>>>> </task-result-details>
>>>>> </component-task-result-details>
>>>>> </component-task-result>
>>>>> <component-task-result
>>>>> xmlns="http://java.sun.com/xml/ns/jbi/management-message"
>>>>>
>>>>> <component-name>servicemix-jsr181</component-name>
>>>>> <component-task-result-details>
>>>>> <task-result-details>
>>>>> <task-id>deploy</task-id>
>>>>> <task-result>FAILED</task-result>
>>>>> <message-type>ERROR</message-type>
>>>>> <task-status-msg>
>>>>> <msg-loc-info>
>>>>> <loc-token/>
>>>>> <loc-message>Could not deploy xbean service unit</loc-message>
>>>>> </msg-loc-info>
>>>>> </task-status-msg>
>>>>> <exception-info>
>>>>> <nesting-level>1</nesting-level>
>>>>> <msg-loc-info>
>>>>> <loc-token/>
>>>>>
>>>>> <loc-message>org.springframework.beans.f
>>>>> actory.BeanDefinitionStoreException: Unexpected exception parsing
XML
>>>>> document f
>>>>> rom file [C:\Program
>>>>> Files\apache-servicemix-3.1-incubating\data\smx\service-ass
>>>>>
emblies\eir-expand-sa\version_4\sus\servicemix-jsr181\eir-expand-jsr181-su\xbean
>>>>> .xml]; nested exception is java.lang.NoClassDefFoundError:
>>>>> org/apache/lucene/que
>>>>> ryParser/ParseException</loc-message>
>>>>>
>>>>> <stack-trace><![CDATA[org.apache.xbean.k
>>>>> ernel.ServiceRegistrationException:
>>>>> org.springframework.beans.factory.BeanDefini
>>>>> tionStoreException: Unexpected exception parsing XML document from
file
>>>>> [C:\Prog
>>>>> ram
>>>>> Files\apache-
servicemix-3.1-incubating\data\smx\service-assemblies\eir-expan
>>>>>
d-sa\version_4\sus\servicemix-jsr181\eir-expand-jsr181-su\xbean.xml];
>>>>> nested
>>>>> exc
>>>>> eption is java.lang.NoClassDefFoundError:
>>>>> org/apache/lucene/queryParser/ParseExc
>>>>> eption
>>>>> at
>>>>>
org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerServi
>>>>> ce(ServiceManagerRegistry.java:424)
>>>>> at
>>>>> org.apache.xbean.kernel.standard.StandardKernel.registerService
(Stand
>>>>> ardKernel.java:220)
>>>>> at
>>>>> org.apache.xbean.server.spring.loader.SpringLoader.load
(SpringLoader.
>>>>> java:154)
>>>>> at
>>>>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy
(Abstr
>>>>> actXBeanDeployer.java:79)
>>>>> at
>>>>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy
(BaseServ
>>>>> iceUnitManager.java:88)
>>>>> at
>>>>> org.apache.servicemix.common.BaseServiceUnitManager.deploy
(BaseServic
>>>>> eUnitManager.java:69)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs
>>>>> sembly(DeploymentService.java:527)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi
>>>>> ve(AutoDeploymentService.java:334)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExter
>>>>> nalArchive(AutoDeploymentService.java:201)
>>>>> at
>>>>>
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
>>>>> e(JBIContainer.java:473)
>>>>> at
>>>>>
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
>>>>> e(JBIContainer.java:483)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServic
>>>>> eAssembly(AdminCommandsService.java:229)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>>>>> java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>>>>> sorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at
>>>>> org.apache.commons.beanutils.MethodUtils.invokeMethod(
MethodUtils.jav
>>>>> a:216)
>>>>> at
>>>>> org.apache.servicemix.jbi.management.BaseStandardMBean.invoke
(BaseSta
>>>>> ndardMBean.java:318)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke
(DynamicMetaDataImp
>>>>> l.java:213)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
>>>>> at
>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
(DefaultM
>>>>> BeanServerInterceptor.java:815)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java
:784
>>>>> )
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.doOperation
(RMIConnecti
>>>>> onImpl.java:1408)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.access$100
(RMIConnectio
>>>>> nImpl.java:81)
>>>>> at
>>>>>
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run
>>>>> (RMIConnectionImpl.java:1245)
>>>>> at java.security.AccessController.doPrivileged(Native
Method)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation
(R
>>>>> MIConnectionImpl.java:1348)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke
(RMIConnectionImp
>>>>> l.java:782)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>>>>> java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>>>>> sorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at
>>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
>>>>> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>>>>> at java.security.AccessController.doPrivileged(Native
Method)
>>>>> at sun.rmi.transport.Transport.serviceCall(Transport.java
:149)
>>>>> at
>>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java
:4
>>>>> 60)
>>>>> at
>>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
(TCPTransport
>>>>> .java:701)
>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>> Caused by:
>>>>> org.springframework.beans.factory.BeanDefinitionStoreException:
>>>>> Unexp
>>>>> ected exception parsing XML document from file [C:\Program
>>>>> Files\apache-servicem
>>>>>
ix-3.1-incubating\data\smx\service-assemblies\eir-expand-sa\version_4\sus\servic
>>>>> emix-jsr181\eir-expand-jsr181-su\xbean.xml]; nested exception is
>>>>> java.lang.NoCla
>>>>> ssDefFoundError: org/apache/lucene/queryParser/ParseException
>>>>> at
>>>>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
>>>>> eanDefinitions(XmlBeanDefinitionReader.java:427)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
>>>>> nDefinitions(XmlBeanDefinitionReader.java:357)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
>>>>> nDefinitions(XmlBeanDefinitionReader.java:334)
>>>>> at
>>>>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>>>>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
>>>>> at
>>>>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>>>>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
>>>>> at
>>>>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>>>>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
>>>>> at
>>>>>
org.springframework.context.support.AbstractXmlApplicationContext.loa
>>>>> dBeanDefinitions(AbstractXmlApplicationContext.java:113)
>>>>> at
>>>>>
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadB
>>>>> eanDefinitions(FileSystemXmlApplicationContext.java:168)
>>>>> at
>>>>>
org.springframework.context.support.AbstractRefreshableApplicationCon
>>>>> text.refreshBeanFactory(AbstractRefreshableApplicationContext.java
:94)
>>>>> at
>>>>>
org.springframework.context.support.AbstractApplicationContext.refres
>>>>> h(AbstractApplicationContext.java:292)
>>>>> at
>>>>> org.apache.xbean.server.spring.configuration.SpringConfiguration
.<ini
>>>>> t>(SpringConfiguration.java:63)
>>>>> at
>>>>>
org.apache.xbean.server.spring.configuration.SpringConfigurationServi
>>>>> ceFactory.createService(SpringConfigurationServiceFactory.java:106)
>>>>> at
>>>>> org.apache.xbean.kernel.standard.ServiceManager.start
(ServiceManager.
>>>>> java:420)
>>>>> at
>>>>> org.apache.xbean.kernel.standard.ServiceManager.initialize
(ServiceMan
>>>>> ager.java:200)
>>>>> at
>>>>> org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable
.
>>>>> call(RegistryFutureTask.java:110)
>>>>> at
>>>>> edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run
(FutureT
>>>>> ask.java:176)
>>>>> at
>>>>>
org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerServi
>>>>> ce(ServiceManagerRegistry.java:409)
>>>>> ... 38 more
>>>>> Caused by: java.lang.NoClassDefFoundError:
>>>>> org/apache/lucene/queryParser/ParseEx
>>>>> ception
>>>>> at java.lang.Class.getDeclaredMethods0(Native Method)
>>>>> at java.lang.Class.privateGetDeclaredMethods(Class.java
:2365)
>>>>> at java.lang.Class.getDeclaredMethods(Class.java:1763)
>>>>> at java.beans.Introspector$1.run(Introspector.java:1265)
>>>>> at java.security.AccessController.doPrivileged(Native
Method)
>>>>> at
>>>>> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java
:12
>>>>> 63)
>>>>> at
>>>>> java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
>>>>> at java.beans.Introspector.getBeanInfo(Introspector.java
:387)
>>>>> at java.beans.Introspector.getBeanInfo(Introspector.java
:159)
>>>>> at
>>>>> org.apache.xbean.spring.context.v2c.XBeanQNameHelper.getBeanInfo
(XBea
>>>>> nQNameHelper.java:78)
>>>>> at
>>>>>
org.apache.xbean.spring.context.v2c.XBeanQNameHelper.coerceNamespaceA
>>>>> warePropertyValues(XBeanQNameHelper.java:54)
>>>>> at
>>>>>
org.apache.xbean.spring.context.v2c.XBeanBeanDefinitionParserDelegate
>>>>> .parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java
:63)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>>>>> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:421)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>>>>> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:390)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
>>>>> ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java
:164)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
>>>>> ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java
:140)
>>>>> at
>>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader
.
>>>>> parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:63)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
>>>>> ader.registerBeanDefinitions(
DefaultBeanDefinitionDocumentReader.java:88)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
>>>>> rBeanDefinitions(XmlBeanDefinitionReader.java:499)
>>>>> at
>>>>>
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.regis
>>>>> terBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
>>>>> at
>>>>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
>>>>> eanDefinitions(XmlBeanDefinitionReader.java:407)
>>>>> ... 54 more
>>>>> ]]></stack-trace>
>>>>> </msg-loc-info>
>>>>> </exception-info>
>>>>> </task-result-details>
>>>>> </component-task-result-details>
>>>>> </component-task-result>
>>>>> </jbi-task-result>
>>>>> </jbi-task>
>>>>>
>>>>> at
>>>>> org.apache.servicemix.jbi.framework.ManagementSupport.failure
(Managem
>>>>> entSupport.java:121)
>>>>> at
>>>>> org.apache.servicemix.jbi.framework.ManagementSupport.failure
(Managem
>>>>> entSupport.java:107)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs
>>>>> sembly(DeploymentService.java:563)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi
>>>>> ve(AutoDeploymentService.java:334)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExter
>>>>> nalArchive(AutoDeploymentService.java:201)
>>>>> at
>>>>>
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
>>>>> e(JBIContainer.java:473)
>>>>> at
>>>>>
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchiv
>>>>> e(JBIContainer.java:483)
>>>>> at
>>>>>
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServic
>>>>> eAssembly(AdminCommandsService.java:229)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>>>>> java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>>>>> sorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at
>>>>> org.apache.commons.beanutils.MethodUtils.invokeMethod(
MethodUtils.jav
>>>>> a:216)
>>>>> at
>>>>> org.apache.servicemix.jbi.management.BaseStandardMBean.invoke
(BaseSta
>>>>> ndardMBean.java:318)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke
(DynamicMetaDataImp
>>>>> l.java:213)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
>>>>> at
>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
(DefaultM
>>>>> BeanServerInterceptor.java:815)
>>>>> at
>>>>> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java
:784
>>>>> )
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.doOperation
(RMIConnecti
>>>>> onImpl.java:1408)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.access$100
(RMIConnectio
>>>>> nImpl.java:81)
>>>>> at
>>>>>
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run
>>>>> (RMIConnectionImpl.java:1245)
>>>>> at java.security.AccessController.doPrivileged(Native
Method)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation
(R
>>>>> MIConnectionImpl.java:1348)
>>>>> at
>>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke
(RMIConnectionImp
>>>>> l.java:782)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>>>>> java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>>>>> sorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at
>>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
>>>>> at sun.rmi.transport.Transport$1.run(Transport.java:153)
>>>>> at java.security.AccessController.doPrivileged(Native
Method)
>>>>> at sun.rmi.transport.Transport.serviceCall(Transport.java
:149)
>>>>> at
>>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java
:4
>>>>> 60)
>>>>> at
>>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
(TCPTransport
>>>>> .java:701)
>>>>> at java.lang.Thread.run(Thread.java:595)
>>>>>
>>>>>
>>>>> the pom.xml for the service unit contains the following dependancy:
>>>>>
>>>>> <dependency>
>>>>> <groupId>org.apache.lucene</groupId>
>>>>> <artifactId>lucene-core</artifactId>
>>>>> <version>2.0.0</version>
>>>>> </dependency>
>>>>>
>>>>>
>>>>> As you can see I'm getting a NoClassDefFoundError:
>>>>> org/apache/lucene/que
>>>>> ryParser/ParseException
>>>>>
>>>>> I'm unclear why this exception is been thrown by servicemix itself
on
>>>>> an
>>>>> attempted deployment.
>>>>>
>>>>> Should I be using a particular version of lucene?
>>>>>
>>>>> Thanks for any help!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/