geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Forrest Xia <>
Subject How to build and run geronimo OSGi-transformed framework
Date Thu, 22 Oct 2009 07:13:28 GMT
I saw some changes happened in geronimo framework code tree, those are the
attempts to transform geronimo framework modules to OSGi bundles.

I am eager to know how it works, so I made some effort to pull the code and
try to make a build by self. Although the build process is not so smoothly,
I finally make it work. That's excited, isn't it? Here are the steps for
those who want to work on or study the Geronimo OSGi transformation :-)

1. install and config build softwares
1.1 maven 2.0.10
1.2 subversion
1.3 sun jdk 1.5 or 1.6

2. checkout and build servicemix4 bundles.
ServiceMix4 bundles are required by the new geronimo framework. The build
process is problematic and tricky, be patient :-)
  $ svn co smx4all
  $ cd smx4all
  $ mvn install -e
if you encounter error like "missing bundles-pom", do as follows:
  $ cd bundles/bundles-pom
  $ mvn install -e
After successfully built bundles-pom, you can start to build bundles
  $ cd ..
  $ mvn install -e
If you hit problem that says missing certain specific version of
bundles-pom, you need to manually update that bundle's pom.xml. In my case,
the groovy-1.5.6 has old bundles-pom dependency, so change it to the new one
"5-SNAPSHOT", then from the root of bundles, build again.
  $ mvn install -e
You need to make sure all bundles are successfully built and installed into
your local maven repository.

Besides, you need to build these bundles additionally:

3. Check out and build felix bundles.
Not all of felix bundles need to be built. For my experience, these bundles
are required:

4. check out and build geronimo framework
check out geronimo code from trunk
  $ svn co gtrunk
build from framework
  $ cd gtrunk/framework
  $ mvn install -e
You will hit bundle missing problems. Go to bundles sub directory and
manually build each bundle, until all bundles are built successfully.
  $ cd bundles/asm-3.1
  $ mvn install -e
  $ cd ../asm-commons-3.1
  $ mvn install -e
The order is:
  asm-3.1  asm-commons-3.1  commons-cli  log4j  plexus-utils plexus-logging
plexus-archiver  sxc-jaxb  sxc-runtime
You might encounter dependency missing errors when building plexus-logging,
plexus-archiver sxc-jaxb sxc-runtime, resolve them like this:
  For plexus-logging and plexus-archiver, update plexus-utils' version in
pom.xml to the one you just built
  For sxc-jaxb, you need to build "org.apache.servicemix.bundles.jaxb-impl",
back to servicemix4 source tree and find it to build

Back to framework directory, and build again:
  $ mvn install -e

You might to need to download some bundles manually. For my experience,
these bundles are manually downloaded and installed:
   mvn install:install-file -DgroupId=org.osgi
-DartifactId=org.osgi.impl.bundle.jmx -Dversion=
-Dpackaging=jar -Dfile=org.osgi.impl.bundle.jmx-

5. After you see success prompt, you can try to run osgi-ed geronimo
framework like this:
  $ cd <gtrunk>/framework/assemblies/geronimo-framework/target/assembly/bin
  $ chmod +x *
  $ ./karaf
Auto-properties start: org.osgi.framework.BundleException: Fragment bundles
can not be started.
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly.
        __ __                  ____
       / //_/____ __________ _/ __/
      / ,<  / __ `/ ___/ __ `/ /_
     / /| |/ /_/ / /  / /_/ / __/
    /_/ |_|\__,_/_/   \__,_/_/

  Apache Felix Karaf (1.1.0-SNAPSHOT)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Karaf.

karaf@root> Module 1/5
started in   .000s
Module 2/5
started in   .097s
Module 3/5
started in   .085s
Module 4/5
started in   .272s
Module 5/5
started in   .021s
Startup completed in 4.069s seconds
  Listening on Ports:
    1099 RMI Naming
    9999 JMX Remoting Connector

Geronimo Application Server started


OK! now you can try to install some application bundles with OSGi commands.
For how to use this console, see

View raw message