OPS4J
  Pax Bucket
Added by Toni Menzel, last edited by Toni Menzel on Apr 04, 2008  (view change)

Labels

 
(None)

Why

  • want to have a "just one jar" Version of my running app based on paxrunner.
  • want to start my app on any machine with just java (no paxrunner, maven or network connection)
  • want my app to start just with "java -jar myapp.jar". So any dude can handle that.
  • want my app to not leave any disturbing cache-Folders after app exits.

To get that I

  • want to create the final app (so called bucket) right from my running one - no fussy descriptors.
  • don't want to tell that i want a new bucket, the PaxBucket should do this automatically after state changes.

Many things can be solved with existing paxrunner options + scripts and zipping things.
But its not seemless..

Maybe a better solution

New Bundle called "pax-bucket-creator" can be deployed into any OSGi Framework supported by Pax Runner.
It instantly creates a bucket-File called "paxbucket-out.jar" and recreates it on any change into the current working folder.

You now can copy/ship it to any dude and start it with "java -jar paxbucket-out.jar"

Can i use it already?

Yes, its very small (essentially two classes) and in baby stage (0.0.1). But it works in some cases..
Checkout the sourcecode here:

svn co https://scm.ops4j.org/repos/ops4j/laboratory/users/tonit/incubator/pax-bucket

Build it as usual using

mvn clean install

Then deploy those bundles on paxrunner

mvn:org.ops4j.pax/pax-bucket-creator

(hint the mvn-url handler is a requirement currently because it pulls the embedded paxrunner right from mvn)

After pax-bucket-creator started you should find a paxbucket-out.jar in your working folder.
Copy it anywhere/ship it and launch it using:

java -jar paxbucket-out.jar

First Demo Screencast : http://osgify.com/PaxBucketSample_v1.mov
(be aware of chunky effects cause i was experimenting with the capturing app called ScreenFlow which is very nice btw.)