PAX Runner represents a OSGI provisioning system. It supports different OSGI platforms how Equinox, Felix, Knopplerfish and so on. Furthermore you can specify or use existing profiles how Spring DM, Declarative Services, IPOJO et cetera. Anymore you can configure bundles, which should be automatically deployed on start, inside of an extra text file.
I will describe the advantages and the usage of Pax Runner with two intuitive examples.
First:
Use-Case: You need as fast as can be a Spring DM environment on a Equinox OSGI platform.
#service my-bundles.txt #external resource https://opensource.luminis.net/wiki/download/attachments/2031635/net.luminis.cmc-0.2.3.jar?version=1&;modificationDate=1240778068150 #maven resource mvn:org.developers.blog.mail/mail-service@update mvn:org.developers.blog.ftp/ftp-service@update mvn:org.developers.blog.business/business-logic@update
#command sh bin/pax-runner.sh --profiles=spring.dm --platform=equinox my-bundles.txtSecond:
You want to use felix as OSGI platform, an abstraction layer for all logging frameworks (PAX Logging) and Declarative Services as dependency framework. Furthermore you want to delegate com.sun.* and javax.* classes to the bootstrap classloader.
sh bin/pax-runner.sh --profiles=ds,log --platform=felix --bootdelegation=com.sun.*,javax.* my-bundles.txtThe Pax Runner accelarated my development of OSGI bundles and I can only advise the PAX Runner provisioning system.
Regards,
Rafael Sobek
Technorati Tags: OSGI OSGI Provisioning

In the upcoming version using profiles is simpler: http://adreghiciu.wordpress.com/2009/09/07/tips-tricks-simpler-way-to-use-with-profiles-with-pax-runner/
For your last example the command line will become:
sh bin/pax-runner.sh ds log --platform=felix --bootdelegation=com.sun.*,javax.* my-bundles.txt
Thanx for your appreciations ;),
Alin Dreghiciu