If I remember correctly, that is a split package. I think I posted a shade earlier, here is a complete bundle
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>bundles</artifactId> <groupId>com.savoirtech</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>cassandra-all</artifactId> <packaging>bundle</packaging> <dependencies> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>apache-cassandra</artifactId> <version>${cassandra.version}</version> <type>pom</type> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-all</artifactId> <version>${cassandra.version}</version> <exclusions> <exclusion> <groupId>com.googlecode.concurrentlinkedhashmap</groupId> <artifactId>concurrentlinkedhashmap-lru</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.googlecode.concurrentlinkedhashmap</groupId> <artifactId>concurrentlinkedhashmap-lru</artifactId> <version>1.3</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <artifactSet> <includes> <include>${pkgGroupId}:${pkgArtifactId}</include> </includes> </artifactSet> <filters> <filter> <artifact>${pkgGroupId}:${pkgArtifactId}</artifact> <excludes> <exclude>**</exclude> </excludes> </filter> </filters> <promoteTransitiveDependencies>true</promoteTransitiveDependencies> <createDependencyReducedPom>false</createDependencyReducedPom> <keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope> </configuration> </execution> </executions> </plugin> </plugins> </build> <properties> <pkgVersion>${cassandra.version}</pkgVersion> <pkgArtifactId>cassandra-all</pkgArtifactId> <savoirtech.osgi.import> !javax.inject, !javax.mail.internet, !jline, !joptsimple, !junit.framework, !sun.misc, com.google.inject.internal*;resolution:=optional, com.sun.jna ;resolution:=optional, com.thoughtworks.paranamer;resolution:=optional, edu.emory.mathcs.backport.java.util;resolution:=optional, javax.servlet*;resolution:=optional, kaffe*;resolution:=optional, org.apache.commons.httpclient*;resolution:=optional, org.apache.commons.jxpath*;resolution:=optional, org.apache.env*;resolution:=optional, org.apache.hadoop*;resolution:=optional, org.apache.http*;resolution:=optional, org.apache.log*;resolution:=optional, org.apache.pig*;resolution:=optional, org.apache.tools.ant*;resolution:=optional,, org.jboss.netty*;resolution:=optional, org.mortbay*;resolution:=optional, * </savoirtech.osgi.import> <savoirtech.osgi.export> org.apache.cassandra*;version=1.1.1, org.apache.thrift*;-split-package:=merge-first, </savoirtech.osgi.export> <savoirtech.osgi.private.pkg> antlr*, com.google.inject.internal*, com.ning.compress.lzf, com.sun.jna, org.yaml*, org.cliffc.high_scale_lib*, com.google*, com.googlecode*, com.googlecode.concurrentlinkedhashmap, edu.stanford.ppl.concurrent*, org.apache.avro*, org.codehaus.jackson*, org.antlr*, org.apache.commons*;-split-package:=merge-first, org.github*, org.xerial*, com.yammer* </savoirtech.osgi.private.pkg> <savoirtech.osgi.embed>concurrentlinkedhashmap-lru,cassandra-all</savoirtech.osgi.embed> <pkgGroupId>cassandra-all</pkgGroupId> </properties> </project> On Jun 25, 2012, at 3:16 PM, ramesh chandra wrote: > I am getting this error > > Caused by: java.lang.NoClassDefFoundError: > org/apache/thrift/transport/TTransportException > ........ > > Caused by: java.lang.ClassNotFoundException: > org.apache.thrift.transport.TTransportException not found by > me.prettyprint.hector [193] > > I have provided all the required dependencies, but for some reason , there is > one 'libthrift' that can not be found by the server during runtime. > > I am not sure if what I attempted below is right and please correct me if > there is a right way. > > in the config.properties file , I added > org.osgi.framework.system.packages.extra=libthrift-0.6.1; version="0.6.1" > > also I copied the jar in apache-karaf-2.2.7/lib folder > > this did not help, but I am not sure what is the right way to make karaf > aware of libthrift. > > I also tried to install it as a bundle, but it did not help. > > What I am trying to accomplish is to add org.apache.thrift / libthrift > > to this list on System.getProperty("java.class.path") > > > /home/ramesh/Documents/osgiFramework/apache-karaf-2.2.7/lib/karaf-jaas-boot.jar:/home/ramesh/Documents/osgiFramework/apache-karaf-2.2.7/lib/karaf.jar > > > > > > > Any help would be appreciated > > regards, > Ramesh > >
