Hi This is RK,
I have Embedded javax.ws.rs-api to resolved dependency in the OSGi felix plugin bundle but at runtime not getting ClientBuilder class. At runtime when control goes to ClientBuilder.newClient(); getting below exception: 1. Caused by: java.lang.ClassNotFoundException: javax.ws.rs.client.ClientBuilder at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333). Actually the classes embedded in the below pom.xml not getting at runtime. <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.4.0</version> <extensions>true</extensions> <configuration> <instructions> <System-Ids>xxxx</System-Ids> <Bundle-SymbolicName>com.XXXX.${project.artifactId}</Bundle-SymbolicName> <Bundle-Name>${project.name}</Bundle-Name> <Bundle-Version>${project.version}</Bundle-Version> <AutoStart>true</AutoStart> <Embed-Dependency>jackson-annotations,jackson-core,jackson-databind,javax.ws.rs-api,joda-convert,joda-time,codemodel,*;scope=runtime</Embed-Dependency> <Embed-Directory>embed</Embed-Directory> <Embed-Transitive>false</Embed-Transitive> <Import-Package> sun.nio.cs.*;resolution:=optional, com.sun.xml.ws.api.message;version="1.5", com.sun.xml.internal.ws.api.message;version="1.5", com.sun.xml.bind;version="1.5", *;resolution:=required </Import-Package> </instructions> </configuration> </plugin> 2. also I have added javax.ws.rs-api 2.1 to WEB-INF/lib folder then its giving Caused by: java.lang.LinkageError: ClassCastException: attempting to castjar:file:/C:/DEV/Workspaces/XXXX1.6.0Release/XXXX-OOO/platform/target/XXXX/WEB-INF/lib/javax.ws.rs-api-2.1.jar!/javax/ws/rs/client/ClientBuilder.class to bundle://21.0:5/javax/ws/rs/client/ClientBuilder.class at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:105) Could you please suggest me the correct implementation or solution? Please find below pom.xml pom.xml: <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/maven-v4_0_0.xsd"> <parent> <groupId>com.OOO.xxxx</groupId> <artifactId>modules</artifactId> <version>1.6.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>xxxx-OOO-ngestart</artifactId> <packaging>bundle</packaging> <name>OOO Next Generation eStart Integration Plugin</name> <description>OSGi Plugin for integration</description> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <profiles> <profile> <id>env-dev</id> <activation> <property> <name>env</name> <value>dev</value> </property> <activeByDefault>true</activeByDefault> </activation> <build> <resources> <resource> <directory>src/main/env/dev/resources</directory> </resource> </resources> </build> </profile> <profile> <id>env-prod</id> <activation> <property> <name>env</name> <value>prod</value> </property> </activation> <build> <resources> <resource> <directory>src/main/env/prod/resources</directory> </resource> </resources> </build> </profile> </profiles> <dependencies> <!-- RAML --> <!-- https://mvnrepository.com/artifact/org.mule.raml.codegen/raml-client-generator-core --> <dependency> <groupId>org.mule.raml.codegen</groupId> <artifactId>raml-client-generator-core</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>org.mule.raml.codegen</groupId> <artifactId>raml-client-generator-maven-plugin</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>org.raml</groupId> <artifactId>raml-to-pojo</artifactId> <version>1.0.2-SNAPSHOT</version> </dependency> <!-- <dependency> <groupId>org.raml</groupId> <artifactId>raml-to-pojo-maven-plugin</artifactId> <version>1.0.2-SNAPSHOT</version> </dependency> --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>provided</scope> </dependency> <!-- OSGi --> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.framework</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.compendium</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr.ds-annotations</artifactId> <scope>provided</scope> </dependency> <!-- Wicket --> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-core</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-extensions</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-spring</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.8.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.joda</groupId> <artifactId>joda-convert</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.sun.codemodel/codemodel --> <dependency> <groupId>com.sun.codemodel</groupId> <artifactId>codemodel</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1</version> </dependency> <!-- <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-jaxb</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-binding</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> <version>2.24</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>2.26</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-api</artifactId> <version>2.5.0-b42</version> </dependency> <dependency> <groupId>org.glassfish.jersey.bundles.repackaged</groupId> <artifactId>jersey-guava</artifactId> <version>2.24</version> </dependency> --> <!-- com.XXXX --> <dependency> <groupId>com.XXXX.common</groupId> <artifactId>XXXX.plugin-core</artifactId> <scope>provided</scope> </dependency> <!--<dependency> --> <!--<groupId>com.XXXX.xxxx</groupId> --> <!--<artifactId>xxxx-common-pdk</artifactId> --> <!--<version>${xxxx_VERSION}</version> --> <!--<scope>provided</scope> --> <!--</dependency> --> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-core-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-core</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.XXXX.common</groupId> <artifactId>XXXX.plugin-wicket</artifactId> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-event</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-plugin-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-runtime-backend-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-ui</artifactId> <scope>provided</scope> </dependency> <!-- Logging --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <scope>provided</scope> </dependency> <!-- JUNIT DEPENDENCY FOR TESTING --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.XXXX.xxxx</groupId> <artifactId>xxxx-common-testbase</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>microsoft</groupId> <artifactId>sqljdbc4</artifactId> <scope>test</scope> </dependency> <!-- <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>webservices-rt</artifactId> <version>1.5</version> </dependency> --> </dependencies> <build> <resources> <resource> <filtering>false</filtering> <directory>src/main/resources</directory> </resource> <resource> <filtering>false</filtering> <directory>src/main/java</directory> <includes> <include>**</include> </includes> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <testResources> <testResource> <filtering>false</filtering> <directory>src/test/resources</directory> <excludes> <exclude>**/~$*</exclude> </excludes> </testResource> <testResource> <filtering>false</filtering> <directory>src/test/java</directory> <includes> <include>**</include> </includes> <excludes> <exclude>**/*.java</exclude> </excludes> </testResource> </testResources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <!-- OSGi declarative services annotation plugin --> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-scr-plugin</artifactId> <version>1.22.0</version> <executions> <execution> <id>generate-scr-scrdescriptor</id> <goals> <goal>scr</goal> </goals> </execution> </executions> </plugin> <!-- OSGi bundle plugin --> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.4.0</version> <extensions>true</extensions> <configuration> <instructions> <System-Ids>xxxx</System-Ids> <Bundle-SymbolicName>com.XXXX.${project.artifactId}</Bundle-SymbolicName> <Bundle-Name>${project.name}</Bundle-Name> <Bundle-Version>${project.version}</Bundle-Version> <AutoStart>true</AutoStart> <!-- Embed-Dependency>webservices-rt</Embed-Dependency --> <!-- <Embed-Dependency>jackson-annotations</Embed-Dependency> <Embed-Dependency>jackson-core</Embed-Dependency> <Embed-Dependency>jackson-databind</Embed-Dependency> --> <Embed-Dependency>jackson-annotations,jackson-core,jackson-databind,javax.ws.rs-api,joda-convert,joda-time,codemodel,*;scope=runtime</Embed-Dependency> <Embed-Directory>embed</Embed-Directory> <Embed-Transitive>false</Embed-Transitive> <Import-Package> sun.nio.cs.*;resolution:=optional, com.sun.xml.ws.api.message;version="1.5", com.sun.xml.internal.ws.api.message;version="1.5", com.sun.xml.bind;version="1.5", *;resolution:=required </Import-Package> </instructions> </configuration> </plugin> </plugins> </build> </project> I have used the Thanks, RK