David Jencks wrote:
I changed the url scheme so we always use pax maven urls for
everything in the geronimo repository, and now I can get, with
some work, all the plugin bundles to start as bundles. However
they mostly don't start as plugins (i.e., no gbeans start). I
haven't figured out why yet.
How to get it to "run":
build
This one word is starting to remind me of the famous Sydney Harris
cartoon:
http://www.sciencecartoonsplus.com/pages/gallery.php
I've had a few issues getting this to build, so I thought I'd
capture the notes here for the benefit of others. Some of these
we can fix in the build, others are things that need to be
accounted for before building. A major problem is getting all of
the dependencies into your maven repository so the build can work.
1) servicemix bundles. In addition to the patch that David
provided, you need to checkout and build the servicemix bundles
from:
https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk
Unfortunately, the root pom for servicemix does not build all of
the subprojects. Many of the ones that are skipped are required
by Geronimo and need to be built individually. This list includes:
jaxb-impl-2.1.6
xmlbeans-2.4.0 (NOTE: this builds 2.4.0_3-SNAPSHOT, but the
dependency is currently 2.4.0_2-SNAPSHOT. The Geronimo pom needs
to be adjusted).
woodstox-3.2.8
jline-0.9.94
The framework builds additional bundlized versions of
dependencies, but at the moment, they are not included in the
build. The subprojects are located in framework/bundles, but
there's no root pom that builds all of these, so each subproject
needs to be built individually. There are some dependencies
between these subprojects. For example, plexus-archiver depends
on plexus-utils, so plexus-utils needs to be built first.
Unfortunately, plexus-utils is building version 1.5.15_1-SNAPSHOT,
and plexus-archiver has a dependency on 1.4.5_-SNAPSHOT. plexus-
utils exports a 1.4.5 level of the packages, so I'm guessing this
was intended to be 1.4.5_1-SNAPSHOT, so the POM needs adjusting.
Once I've done the steps above, I get some test failures in
geronimo-kernel. If I try to build with tests turned off, then I
get the following failure:
1) org.apache.geronimo.framework:geronimo-kernel:jar:tests:3.0-
SNAPSHOT
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -
DgroupId=org.apache.geronimo.framework -Dartifac
tId=geronimo-kernel -Dversion=3.0-SNAPSHOT -Dclassifier=tests -
Dpackaging=jar -D
file=/path/to/file
most likely the result of the test failures. The test failures
don't make much sense to me, but this might be a Windows-specific
problem with normalizing URLs. If I comment out the assertions
that are failing, I'm able to get geronimo-kernel to build, but
get test failures in other projects. Now, however, disabling the
tests appears to work.
This gets me to errors with the dependency history checks because
in the change to the xmlbeans dependency. This requires deleting
all of the history files to continue on.
Ok, once I get past all of that, I get a whole series of errors
that I don't know how to get around. I'm pretty much stuck here,
but I'll go back and look at the geronimo-kernel test failures and
see if I can figure out what's going on there. Here are the
errors I see:
[INFO] [car:update-pluginlist]
[INFO]
------------------------------------------------------------------------
[INFO] Building Geronimo Framework, Configs :: Plugin Management
[INFO] task-segment: [install]
[INFO]
------------------------------------------------------------------------
[INFO] [genesis:validate-configuration {execution: default}]
[INFO] [enforcer:enforce {execution: default}]
[INFO] [remote-resources:process {execution: default}]
[INFO] [dependency:unpack {execution: default}]
[INFO] [resources:resources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] skip non existing resourceDirectory C:\jencks\g\framework
\configs\plugin\
src\main\filtered-resources
[INFO] Copying 3 resources
[INFO] [car:validate-configuration]
[INFO] [car:prepare-plan]
[INFO] Generated: C:\jencks\g\framework\configs\plugin\target\work
\plan.xml
[INFO] [car:verify-no-dependency-change]
[INFO] [car:prepare-metadata]
[INFO] [car:package]
[INFO] Packaging module configuration: C:\jencks\g\framework
\configs\plugin\targ
et\work\plan.xml
ERROR: Error creating archive. (java.io.IOException: Referenced
file does not ex
ist: C:\jencks\g\framework\configs\plugin\target\repository\org
\apache\geronimo\
framework\plugin\3.0-SNAPSHOT\plugin-3.0-SNAPSHOT.car)
java.io.IOException: Referenced file does not exist: C:\jencks\g
\framework\confi
gs\plugin\target\repository\org\apache\geronimo\framework\plugin
\3.0-SNAPSHOT\pl
ugin-3.0-SNAPSHOT.car
at
org
.apache.felix.framework.cache.BundleArchive.createRevisionFromLoca
tion(BundleArchive.java:994)
at
org
.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.j
ava:631)
at
org
.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.j
ava:206)
at
org
.apache.felix.framework.cache.BundleCache.getArchives(BundleCache.
java:149)
at org.apache.felix.framework.Felix.init(Felix.java:558)
at org.apache.felix.framework.Felix.start(Felix.java:683)
at
org
.apache.geronimo.mavenplugins.car.AbstractCarMojo.getFramework(Abs
tractCarMojo.java:771)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.createKernel(Package
Mojo.java:360)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.buildPackage(Package
Mojo.java:294)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.execute(PackageMojo.
java:234)
at
org
.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:453)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:559)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:500)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:479)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:331)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:292)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:
336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
ERROR: Error starting reference:file://c:\.m2\repository\org\apache
\geronimo\fra
mework\geronimo-gbean-deployer-bootstrap\3.0-SNAPSHOT\geronimo-
gbean-deployer-bo
otstrap-3.0-SNAPSHOT.car (org.osgi.framework.BundleException:
Activator start er
ror in bundle org.apache.geronimo.framework.geronimo-gbean-
deployer-bootstrap [1
].)
java.lang.NullPointerException: Specified service reference cannot
be null.
at
org
.apache.felix.framework.BundleContextImpl.getService(BundleContext
Impl.java:320)
at
org
.apache.geronimo.kernel.osgi.ConfigurationActivator.start(Configur
ationActivator.java:46)
at
org
.apache.felix.framework.util.SecureAction.startActivator(SecureAct
ion.java:639)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:
1622)
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:
1077)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:
264
)
at java.lang.Thread.run(Thread.java:619)
ERROR: Error starting reference:file://c:\.m2\repository\org\apache
\geronimo\fra
mework\rmi-naming\3.0-SNAPSHOT\rmi-naming-3.0-SNAPSHOT.car
(org.osgi.framework.B
undleException: Activator start error in bundle
org.apache.geronimo.framework.rm
i-naming [38].)
java.lang.NullPointerException: Specified service reference cannot
be null.
at
org
.apache.felix.framework.BundleContextImpl.getService(BundleContext
Impl.java:320)
at
org
.apache.geronimo.kernel.osgi.ConfigurationActivator.start(Configur
ationActivator.java:46)
at
org
.apache.felix.framework.util.SecureAction.startActivator(SecureAct
ion.java:639)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:
1622)
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:
1077)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:
264
)
at java.lang.Thread.run(Thread.java:619)
07:52:08,671 ERROR [GBeanInstanceState] Error while starting;
GBean is now in th
e FAILED state: abstractName="org.apache.geronimo.framework/j2ee-
system/3.0-SNAP
SHOT/car?ServiceModule=org.apache.geronimo.framework/j2ee-system/
3.0-SNAPSHOT/ca
r,j2eeType=GBean,name=ServerInfo"
java.lang.IllegalStateException: NO karaf.home specified
at
org
.apache.geronimo.system.serverinfo.BasicServerInfo.<init>(BasicSer
verInfo.java:83)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun
.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at
sun
.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:
513)
at org.apache.xbean.recipe.ReflectionUtil
$ConstructorFactory.create(Refl
ectionUtil.java:952)
at
org
.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java
:276)
at
org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:
96)
at
org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:
61)
at
org
.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanI
nstance.java:915)
at
org
.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
(GBeanInstanceState.java:269)
at
org
.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
nceState.java:103)
at
org
.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(G
BeanInstanceState.java:125)
at
org
.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanI
nstance.java:542)
at
org
.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(Basi
cKernel.java:385)
at
org
.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
nGBeans(ConfigurationUtil.java:459)
at
org
.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConf
iguration(ConfigurationUtil.java:216)
at
org
.apache.geronimo.system.osgi.BootActivator.start(BootActivator.jav
a:83)
at
org
.apache.felix.framework.util.SecureAction.startActivator(SecureAct
ion.java:639)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:
1622)
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:
1077)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:
264
)
at java.lang.Thread.run(Thread.java:619)
ERROR: Error starting reference:file://c:\.m2\repository\org\apache
\geronimo\fra
mework\j2ee-system\3.0-SNAPSHOT\j2ee-system-3.0-SNAPSHOT.car
(org.osgi.framework
.BundleException: Activator start error in bundle
org.apache.geronimo.framework.
j2ee-system [39].)
org.apache.geronimo.kernel.config.InvalidConfigException: Unknown
start exceptio
n
at
org
.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
nGBeans(ConfigurationUtil.java:521)
at
org
.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConf
iguration(ConfigurationUtil.java:216)
at
org
.apache.geronimo.system.osgi.BootActivator.start(BootActivator.jav
a:83)
at
org
.apache.felix.framework.util.SecureAction.startActivator(SecureAct
ion.java:639)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:
1622)
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:
1077)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:
264
)
at java.lang.Thread.run(Thread.java:619)
Caused by:
org.apache.geronimo.gbean.InvalidConfigurationException:
Configuratio
n org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car
failed to start due
to the following reasons:
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=GBean,name=ServerInfo did not start because NO
karaf.home specif
ied
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=Repository,name=Repository did not start because
org.apache.gero
nimo.framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.geronimo.fr
amework/j2ee-system/3.0-SNAPSHOT/
car,j2eeType=GBean,name=ServerInfo did not star
t.
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=ConfigurationStore,name=Local did not start
because org.apache.g
eronimo.framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.geronimo
.framework/j2ee-system/3.0-SNAPSHOT/
car,j2eeType=Repository,name=Repository did
not start.
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=AttributeStore,name=AttributeManager did not start
because org.a
pache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.g
eronimo.framework/j2ee-system/3.0-SNAPSHOT/
car,j2eeType=GBean,name=ServerInfo di
d not start.
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=ArtifactResolver,name=ArtifactResolver did not
start because org
.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache
.geronimo.framework/j2ee-system/3.0-SNAPSHOT/
car,j2eeType=GBean,name=ServerInfo
did not start.
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=ConfigurationManager,name=ConfigurationManager did
not start bec
ause the following dependent services did not start:
[org.apache.geronimo.framew
ork/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.geronimo.framework/j2e
e-system/3.0-SNAPSHOT/
car,j2eeType=AttributeStore,name=AttributeManager, org.apa
che.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.ger
onimo.framework/j2ee-system/3.0-SNAPSHOT/
car,j2eeType=ArtifactResolver,name=Arti
factResolver]
The service ServiceModule=org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSH
OT/car,j2eeType=SystemLog,name=Logger did not start because
org.apache.geronimo.
framework/j2ee-system/3.0-SNAPSHOT/car?
ServiceModule=org.apache.geronimo.framewo
rk/j2ee-system/3.0-SNAPSHOT/car,j2eeType=GBean,name=ServerInfo did
not start.
at
org
.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
nGBeans(ConfigurationUtil.java:487)
... 8 more
[INFO] Started deployer: org.apache.geronimo.framework/geronimo-
gbean-deployer-b
ootstrap/3.0-SNAPSHOT/car
07:52:09,187 INFO [DeploymentContext] The Strict Manifest
Classpath processing
mode is in effect.
This option can be altered by specifying -
DXorg.apache.geronimo.deployment.Lenie
ntMFCP=true|false
Specify ="true" for more lenient processing such as ignoring
missing jars and re
ferences that are not spec compliant.
07:52:09,234 INFO [DependencyManager] found geronimo-plugin.xml
for bundle org.
apache.geronimo.framework.plugin-DEPLOYMENT [55]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.geronimo.framework/rmi-naming/3.0-SNAPSHOT/car:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.geronimo.framework/geronimo-system/3.0-SNAPSHOT/jar:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/
2.1.6_1/jar:AL
L]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.servicemix.specs/org.apache.servicemix.specs.activation-
api-1.1/1.4-SNAPS
HOT/jar:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.servicemix.bundles/org.apache.servicemix.bundles.woodstox/
3.2.8_1-SNAPSHO
T/jar:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.geronimo.bundles/slf4j/1.5.5_1-SNAPSHOT/jar:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.geronimo.framework/geronimo-plugin/3.0-SNAPSHOT/jar:ALL]
07:52:09,234 INFO [DependencyManager] installing artifact:
DependencyType [org.
apache.geronimo.specs/geronimo-javaee-deployment_1.1MR3_spec/1.1-
SNAPSHOT/jar:AL
L]
07:52:09,250 WARN [DependencyManager] Could not start bundle:
org.apache.geroni
mo.framework.rmi-naming [38]
org.osgi.framework.BundleException: Activator start error in
bundle org.apache.g
eronimo.framework.rmi-naming [38].
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1751)
at org.apache.felix.framework.Felix.startBundle(Felix.java:
1622)
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:902)
at
org
.apache.geronimo.system.configuration.DependencyManager.installed(
DependencyManager.java:97)
at
org
.apache.geronimo.system.configuration.DependencyManager.bundleChan
ged(DependencyManager.java:70)
at
org
.apache.felix.framework.util.EventDispatcher.invokeBundleListenerC
allback(EventDispatcher.java:800)
at
org
.apache.felix.framework.util.EventDispatcher.fireEventImmediately(
EventDispatcher.java:728)
at
org
.apache.felix.framework.util.EventDispatcher.fireBundleEvent(Event
Dispatcher.java:610)
at
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3576)
at org.apache.felix.framework.Felix.installBundle(Felix.java:
2478)
at org.apache.felix.framework.Felix.installBundle(Felix.java:
2277)
at
org
.apache.felix.framework.BundleContextImpl.installBundle(BundleCont
extImpl.java:130)
at
org
.apache.felix.framework.BundleContextImpl.installBundle(BundleCont
extImpl.java:108)
at
org
.apache.geronimo.deployment.DeploymentContext.createTempConfigurat
ion(DeploymentContext.java:208)
at
org
.apache.geronimo.deployment.DeploymentContext.initializeConfigurat
ion(DeploymentContext.java:174)
at
org
.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConf
iguration(ServiceConfigBuilder.java:249)
at
org
.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConf
iguration(ServiceConfigBuilder.java:209)
at
org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:257)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org
.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Refl
ectionMethodInvoker.java:34)
at
org
.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:131)
at
org
.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:854)
at
org
.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:
245)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.invokeDeployer(Packa
geMojo.java:517)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.buildPackage(Package
Mojo.java:337)
at
org
.apache.geronimo.mavenplugins.car.PackageMojo.execute(PackageMojo.
java:234)
at
org
.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:453)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:559)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:500)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:479)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:331)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:292)
at
org
.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:
336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.geronimo.kernel.config.LifecycleException:
load of org.apa
che.geronimo.framework/rmi-naming/3.0-SNAPSHOT/car failed
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConf
iguration(SimpleConfigurationManager.java:386)
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConf
iguration(SimpleConfigurationManager.java:323)
at
org
.apache.geronimo.kernel.osgi.ConfigurationActivator.start(Configur
ationActivator.java:55)
at
org
.apache.felix.framework.util.SecureAction.startActivator(SecureAct
ion.java:639)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:
1700)
... 47 more
Caused by:
org.apache.geronimo.kernel.config.InvalidConfigException: Cound
not f
ind parent configuration: org.apache.geronimo.framework/j2ee-
system/3.0-SNAPSHOT
/car
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.getConfi
guration(SimpleConfigurationManager.java:485)
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.addDepth
FirstServiceParents(SimpleConfigurationManager.java:455)
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.buildAll
ServiceParents(SimpleConfigurationManager.java:442)
at
org
.apache.geronimo.kernel.config.KernelConfigurationManager.load(Ker
nelConfigurationManager.java:157)
at
org
.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConf
iguration(SimpleConfigurationManager.java:369)
... 51 more
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] could not package plugin
Embedded error: Unable to create configuration for deployment:
dependencies: nul
l
Cound not find parent configuration: org.apache.geronimo.framework/
rmi-naming/3.
0-SNAPSHOT/car
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 2 minutes 34 seconds
[INFO] Finished at: Fri Oct 09 07:52:09 EDT 2009
[INFO] Final Memory: 107M/254M
[INFO]
------------------------------------------------------------------------
C:\jencks\g\framework>
unpack the assembly (geronimo-framework) and start it as before
The first start, it hangs for me, I think it's still trying to
permute through some large space of possiblitiles. However,
killling the server and restarting doesn't have this problem.
You can then run osgi:list to see which plugins didn't get
activated, and run osgi:start on them.
Looking at config.xml, they all get load="false" added.
I think the next step might be to start writing some gogo
commands to operate on the ConfigurationManager. This looks
fairly straightforward.
Other stuff that needs to happen:
- figure out how to use pax logging and what we need to remove so
we don't interfere. I think when g. logging starts up it
effectively shuts off all logging.
- Clean up dependencies so we aren't installing a lot of stuff we
don't want, like un-osgi-ified versions of jaxb impl, stax-api,
asm, etc etc etc.
- Clean up generation of geronimo-plugin.xml metadata so it isn't
nested. I added the nesting for one-classloader-per-jar and it
needs to be removed again.
- Figure out how to get the DependencyManager to not try to
install bundles that are already installed. I guess we can get
the location of each installed bundle from the bundle context and
compare with the mvn url string we'd use for installing the new
bundle.
- lots and lots of code cleanup.
If anyone wants to take a look at any of these, that would be
great. I'm going to be mostly offline thursday through sunday
but will try to answer any questions that may come up.
thanks
david jencks
On Oct 5, 2009, at 12:08 PM, David Jencks wrote:
I've made some progress with the osgi sandbox. I now have 2
geronimo plugins starting in karaf. I'm not entirely sure what
is happening next, but I think that felix is searching 2 ^^ 50
or more comibinations for a consistent class space for the 3rd
plugin.
I'm going to try equinox next.
I've checked in the current state of my work. If you want to
build it...
you need to build karaf from trunk.
You need to apply this patch to https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/xstream-1.3
and build it:
Index: pom.xml
=
==================================================================
--- pom.xml (revision 821959)
+++ pom.xml (working copy)
@@ -46,14 +46,14 @@
!com.thoughtworks.xstream*,
!sun.misc*,
!sun.reflect*,
- javax.xml.stream*;version="[1.0.1,2)",
+ javax.xml.stream*;version="[1.0,2)",
net.sf.cglib*;resolution:=optional;version="[2.1.3,3)",
nu.xom;resolution:=optional;version="[1.1,2)",
org.codehaus.jettison*;resolution:=optional;version="[1,2)",
org.dom4j*;resolution:=optional;version="[1.6.1,2)",
org.jdom*;resolution:=optional;version="[1,2)",
org.joda.time*;resolution:=optional;version="[0.9,1)",
- org.xmlpull*;version="[1.1.3,2)",
+ org.xmlpull*;version="[1.1,2)",
*
</servicemix.osgi.import.pkg>
<servicemix.osgi.failok>true</servicemix.osgi.failok>
@@ -65,7 +65,18 @@
<artifactId>${pkgArtifactId}</artifactId>
<version>${pkgVersion}</version>
<optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.xpp3</
artifactId>
+ <version>1.1.4c_2-SNAPSHOT</version>
+ </dependency>
</dependencies>
<build>
You need to build all the bundles in the checkout.
With luck you should then be able to build the framework project.
To start, in assemblies/geronimo-framework/target
tar xzf geronimo-framework-3.0-SNAPSHOT-bin.tar.gz ;chmod u+x
geronimo-framework-3.0-SNAPSHOT/bin/karaf
./geronimo-framework-3.0-SNAPSHOT/bin/karaf
thanks
david jencks