Thanks JB/Christian. That's fixed it.

-----Original Message-----
From: Christian Schneider [mailto:[email protected]] On Behalf Of
Christian Schneider
Sent: Monday, November 23, 2015 5:55 PM
To: [email protected]
Subject: Re: Karaf not able to resolve JAXB classes.

Your exception probably means that you are missing an Import-Package header
with javax.xml.bind.

The problem might be that you declared some imports in the
maven-bundle-plugin config.
If you do not add ",*" at the end then this will turn off the automatic
Import-Package creation.

Normally it is not necessary to declare any imports. So either add the
,* or even try without a manual setting which will mean the same a "*".

Christian

On 23.11.2015 10:50, Ravi Nallappan wrote:
> Hi,
>
> One of my bundle requires jaxb library. I get following error when try 
> to start the bundle.
>
> [
> Karaf 4.0.1
> Camel 2.16,
> java version "1.7.0_79"
> OpenJDK Runtime Environment (IcedTea 2.5.5) 
> (7u79-2.5.5-0ubuntu0.14.04.2) OpenJDK 64-Bit Server VM (build 
> 24.79-b02, mixed mode) ]
>
> ----------------------------------------------------------------------
> ------ ----------------------------------------karaf@root()> 
> bundle:install -s mvn:com.acme.mediation/mobiroute/1.3.1-SNAPSHOT
> ERROR: Bundle com.acme.mediation.mobiroute [183] EventDispatcher: 
> Error during dispatch. (java.lang.NoClassDefFoundError:
> javax/xml/bind/JAXBException)
> java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
> :
> :
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException: 
> javax.xml.bind.JAXBException not found by com.acme.mediation.mobihttp
[182]
>       at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDeleg
> ation(
> BundleWiringImpl.java:1558)
>       at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImp
> l.java
> :79)
>       at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClas
> s(Bund
> leWiringImpl.java:1998)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
>       
> com.acme.mediation.mobihttp bundle plugin configured as :
>
----------------------------------------------------------------------------
> ----------------------------------------                      <plugin>
>                               <groupId>org.apache.felix</groupId>
>                               <artifactId>maven-bundle-plugin</artifactId>
>                               <version>2.5.4</version>
>                               <extensions>true</extensions>
>                               <configuration>
>                                       <instructions>
>       
> <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-
> Symbol
> icName>
>       
> <Bundle-Name>${project.artifactId}</Bundle-Name>
>       
> <Bundle-Version>${project.version}</Bundle-Version>
>                                               <Import-Package>
>                                                       org.apache.camel.*,
>                                                       org.apache.http.*,
>                                                       org.slf4j,
>                                                       com.acme.mediation,
>       
> com.acme.mediation.bean,
>       
> com.acme.mediation.exception,
>       
> com.acme.mediation.helper
>                                               </Import-Package>
>                                               <Export-Package>
>       
> com.acme.mediation.mobi.http,
>       
> com.acme.mediation.mobi.http.bean
>                                               </Export-Package>
>                                       </instructions>
>                               </configuration>
>                       </plugin>
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
> jre.properties configured as
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
> # Standard package set.  Note that:
> #   - javax.transaction* is exported with a mandatory attribute
> jre-1.7= \
>   javax.accessibility, \
>   javax.activation;version="1.1", \
>   javax.activity, \
>   javax.annotation;version="1.0", \
>   javax.annotation.processing;version="1.0", \
>   javax.crypto, \
>   javax.crypto.interfaces, \
>   javax.crypto.spec, \
> :
> :
>   javax.xml, \
>   javax.xml.bind;version="2.2.1", \
>   javax.xml.bind.annotation;version="2.2.1", \
>   javax.xml.bind.annotation.adapters;version="2.2.1", \
>   javax.xml.bind.attachment;version="2.2.1", \
>   javax.xml.bind.helpers;version="2.2.1", \
>   javax.xml.bind.util;version="2.2.1", \
>   javax.xml.crypto, \
> :
> :
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
> karaf@root()> package:exports | grep "javax.xml.bind"
> javax.xml.bind.annotation.adapters             | 2.2.1   | 0  |
> org.apache.felix.framework
> javax.xml.bind.annotation                      | 2.2.1   | 0  |
> org.apache.felix.framework
> javax.xml.bind.attachment                      | 2.2.1   | 0  |
> org.apache.felix.framework
> javax.xml.bind.helpers                         | 2.2.1   | 0  |
> org.apache.felix.framework
> javax.xml.bind.util                            | 2.2.1   | 0  |
> org.apache.felix.framework
> javax.xml.bind                                 | 2.2.1   | 0  |
> org.apache.felix.framework
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
> I even tried to install jaxb manually, the issue still persists
> ----------------------------------------------------------------------
> ------ ----------------------------------------bundle:install -s 
>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.
> 2.1.1_2
> ----------------------------------------------------------------------
> ------
> ----------------------------------------
> I googled around, I noticed some suggestions to disable 
> jre.properties's javax.xml.bind to have other implementation. In my 
> case, I am fine with jre implementation for jaxb as it passes all 
> Junit tests in eclipse. In fact, I don't quite understand the reason
behind disable jre's to progress further.
>
> How to resolve this? Appreciate your input in this.
>
> Thanks and regards,
> Ravi Nallappan
>


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Reply via email to