I tried your solution, by installing and starting the URL Handler, and then adding “ipojo://” part to my bundle installation file path as the following,
Bundle online_manipulator = bundleContext1.installBundle("http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.online.manipulator/1.6.0/org.apache.felix.ipojo.online.manipulator-1.6.0.jar"); online_manipulator.start(); if(online_manipulator .getState()== Bundle.ACTIVE) System.out.println("URL Handler Bundle is Active!"); bundleContext.installBundle(“ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar”); When I run my program, the online manipulator bundle is started successfully, but then I get the following error: org.osgi.framework.BundleException: Unable to cache bundle: ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar Caused by: java.net.MalformedURLException: Unknown protocol: ipojo What am I missing here? Thanks. -----Original Message----- From: Clement Escoffier [mailto:clement.escoff...@gmail.com] Sent: 08 آذار, 2014 05:11 م To: Apache Felix - Users Mailing List Subject: Re: Creating PrimitiveComponentType without importing iPOJO required Packages Hi, You need to install the iPOJO url handler alson called online manipulator: http://central.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.manipulator.online/1.11.1/org.apache.felix.ipojo.manipulator.online-1.11.1.jar Move information on: http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html Regards, Clement On 8 mars 2014, at 12:11, Zaid Jamal Saeed Al Mahmoud <zaid.almahm...@kustar.ac.ae> wrote: > Hey, I have the following issue: > > In my OSGI bundle, I create a Component Type using iPOJO API as the following: > > public void start(BundleContext context) throws Exception { > > > type = new PrimitiveComponentType().setBundleContext(context) > .setComponentTypeName("someType") > .setClassName("my.class.Name") > .setImmediate(true); > type.start(); > > instance = type.createInstance(); > > > > } > > Now, according to this source, > http://mail-archives.apache.org/mod_mbox/felix-users/201204.mbox/%3C1F > ccf246-db56-4e86-a0ee-7e57ec96d...@gmail.com%3E > iPOJO manipulation rely on some classes of org.apache.felix.ipojo, and so I > need to import this package. All bundles intended to have iPOJO component, > need to import: org.apache.felix.ipojo and > org.apache.felix.ipojo.architecture. > > For some reason, I don’t like to import these packages from my bundle. I want > my bundle to have iPOJO component without importing any iPOJO-related > packages. > > Although the answer in the link continues saying: > > To avoid this manual import you can: > - use the iPOJO url handler and so install the bundle with: > ipojo://file:/the.path.to.my.bundle.jar > > I tried the above solution, by adding “ipojo://” part to my bundle > installation file path as the following, > > > bundleContext.installBundle(“ipojo://file:C:\Users\zaid.almahmoud\Desk > top\plugins\MyComponent.jar”); > > > but when I run my program, I get the following error: > > > org.osgi.framework.BundleException: Unable to cache bundle: > ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar > Caused by: java.net.MalformedURLException: Unknown protocol: ipojo > > > > What am I missing here? Thanks. > > > Kind Regards, > Zaid Almahmoud > Research Assistant > > Khalifa University of Science, Technology, and Research Abu Dhabi - > United Arab Emirates > TEL: 00971-2-401-8178 > MOB: 00971-50-9619601 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org