On 09/08/07, Arash Amiri <[EMAIL PROTECTED]> wrote: > > would you actually suggest switching to spring-osgi?
if you already use Spring and want to move your application to OSGi then it's worth trying does spring-osgi already use the maven-bundle-plugin? yes, Spring-OSGi already uses the maven-bundle-plugin to wrap libraries and build its bundles btw, you might also want to look at the felix commons sub-project: http://cwiki.apache.org/FELIX/apache-felix-commons.html which provides poms to wrap various Java libraries as bundles. greetings, arash > > Stuart McCulloch schrieb: > > On 08/08/07, Arash Amiri <[EMAIL PROTECTED]> wrote: > > > >> Hi, > >> Sorry for posting again and again about the same issue, but I just have > >> problems getting it done. > >> > >> I fixed a couple of things in my pom file now using the patch of the > >> bundle plugin (felix 308). > >> I did set up a very simple maven project (basically a simple artifact), > >> imported log4j as dependency, set the packaging to "bundle" and set the > >> dependencies the following way: > >> I use <Embed-Dependency>*<Embed-Dependency> and > >> <Embed-Transitive>true</Embed-Transitive> > >> > >> still, the bundle cant be started, because of the following missing > >> dependencies: > >> > >> Missing imported package com.sun.jdmk.comm_0.0.0. > >> Missing imported package javax.jms_0.0.0. > >> Missing imported package javax.mail_0.0.0. > >> Missing imported package javax.mail.internet_0.0.0. > >> > > > > > > welcome to the world of OSGi :) > > > > these are dependencies that aren't declared in maven because they're > > normally found in the Java runtime... however, because their packages > > don't start with java.* the OSGi framework does not export them from > > the bootclasspath (this is so alternative versions can be provided). > > > > there are a couple of ways to solve this: > > > > a) mark them as optional imports, for example Spring-OSGi uses: > > > > <Import-Package> > > com.sun*;resolution:=optional, > > javax.*;resolution:=optional, > > org.w3c.dom;resolution:=optional, > > org.xml.sax;resolution:=optional, > > org.xml.sax.helpers;resolution:=optional, > > * > > </Import-Package> > > > > > > > > b) use the org.osgi.framework.bootdelegation OSGi property to get > > the OSGi framework to surface the required additional runtime > > packages (ie. set it to sun.*,com.sun.*,javax.*) > > > > c) add bundles that provide these packages > > > > most people choose a) because it's simpler, more portable (ie no extra > > setup / bundles) and those packages are _not_ required for general use > > of Log4J. > > > > FYI, you might want to look at the Pax-Logging bundle: > > > > http://wiki.ops4j.org/confluence/x/F > > > > which provides a range of logging APIs that use a single Log4J backend. > > > > HTH (ps. I've copied this to the felix mailing list) > > > > my (very simple) POM file can be found below: > > > >> <?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/maven-v4_0_0.xsd"> > >> <modelVersion>4.0.0</modelVersion> > >> <groupId>TestLog4j</groupId> > >> <artifactId>TestLog4j</artifactId> > >> <packaging>bundle</packaging> > >> <name>TestLog4j</name> > >> <version>1.0-SNAPSHOT</version> > >> <url>http://maven.apache.org</url> > >> <build> > >> <plugins> > >> <plugin> > >> <groupId>org.apache.felix</groupId> > >> <artifactId>maven-bundle-plugin</artifactId> > >> <version>3.1.0-SNAPSHOT</version> > >> <extensions>true</extensions> > >> <configuration> > >> <instructions> > >> <Private-Package>*</Private-Package> > >> > > > > > > not sure this is what you want - here you're saying that all packages > > on the compilation classpath should be marked as 'private' and not > > exported... perhaps try <Export-Package>*<Export-Package> ? > > > > <Embed-Transitive>true</Embed-Transitive> > > > >> <Embed-Dependency> > >> * > >> </Embed-Dependency> > >> </instructions> > >> </configuration> > >> </plugin> > >> </plugins> > >> </build> > >> <dependencies> > >> <dependency> > >> <groupId>junit</groupId> > >> <artifactId>junit</artifactId> > >> <version>3.8.1</version> > >> <scope>test</scope> > >> </dependency> > >> <dependency> > >> <groupId>log4j</groupId> > >> <artifactId>log4j</artifactId> > >> <version>1.2.14</version> > >> </dependency> > >> </dependencies> > >> </project> > >> > >> is there any problem in the pom? > >> > >> greetings, arash > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > > > > > -- > DI Arash Amiri > Junior Researcher > > Research Studios Austria - Digital Memory Engineering > Austrian Research Centers GmbH > > Thurngasse 8/20, A-1090 Wien > T +43-1-585 0537-19 > F +43-1-585 3741 > M +43-664-825 1276 > HG Wien – FN 115980i – ATU14703506 > > http://dme.researchstudio.at > http://www.researchstudio.at > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Cheers, Stuart