You are probably running on a JVM we were not expecting.

This issue has been somewhat resolved in the trunk. The issue is that the conf/config.properties file is used to construct a list of packages exported by the JVM you are running on. The 0.8.0 release only knows about 1.3, 1.4, and 1.5...are you running on 1.6?

In 0.8.0 what would end up happening in the case where it didn't recognize the JRE version, it would end up creating an invalid export package string with a dangling comma. See your error:

org.osgi.framework; version
=1.3.0, org.osgi.service.packageadmin; version=1.2.0, org.osgi.service.startleve
l; version=1.0.0, org.osgi.service.url; version=1.0.0,

Notice the dangling comma at the end?

I have attached a config.properties file that fixes the dangling comma issue and adds support for 1.6...see if that works.

-> richard
Brian Bonner wrote:
I'm new to felix.  I pulled it down and was trying to run the example.
I was definitely not expecting the resulting stack trace.  Can anyone
tell me where I went wrong?

Thanks.

Brian



C:\felix-0.8.0-incubator>java -jar bin/felix.jar

Welcome to Felix.
=================

Enter profile name: test

ERROR: Error parsing system bundle export statement: org.osgi.framework; version =1.3.0, org.osgi.service.packageadmin; version=1.2.0, org.osgi.service.startleve l; version=1.0.0, org.osgi.service.url; version=1.0.0, (java.lang.IllegalArgume
ntException: No paths specified in header: )
java.lang.IllegalArgumentException: No paths specified in header:
at org.apache.felix.framework.util.ManifestParser.parseStandardHeaderCla
use(ManifestParser.java:794)
at org.apache.felix.framework.util.ManifestParser.parseStandardHeader(Ma
nifestParser.java:761)
at org.apache.felix.framework.util.ManifestParser.parseImportExportHeade
r(ManifestParser.java:668)
at org.apache.felix.framework.SystemBundle.<init>(SystemBundle.java:68)
       at org.apache.felix.framework.Felix.start(Felix.java:344)
       at org.apache.felix.main.Main.main(Main.java:208)
ERROR: Error starting file:bundle/org.apache.felix.shell-0.8.0-incubator.jar (or g.osgi.framework.BundleException: Unresolved package in bundle 1: org.osgi.servi
ce.startlevel [version=1.0.0])
org.osgi.framework.BundleException: Unresolved package in bundle 1: org.osgi.ser
vice.startlevel [version=1.0.0]
at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1362)
       at org.apache.felix.framework.Felix._startBundle(Felix.java:1241)
       at org.apache.felix.framework.Felix.startBundle(Felix.java:1201)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:80
7)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:256
)
       at java.lang.Thread.run(Thread.java:619)
ERROR: Error starting file:bundle/org.apache.felix.shell.tui-0.8.0-incubator.jar (org.osgi.framework.BundleException: Unresolved package in bundle 1: org.osgi.s
ervice.startlevel [version=1.0.0])
org.osgi.framework.BundleException: Unresolved package in bundle 1: org.osgi.ser
vice.startlevel [version=1.0.0]
at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1362)
       at org.apache.felix.framework.Felix._startBundle(Felix.java:1241)
       at org.apache.felix.framework.Felix.startBundle(Felix.java:1201)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:80
7)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:256
)
       at java.lang.Thread.run(Thread.java:619)
ERROR: Error starting file:bundle/org.apache.felix.bundlerepository-0.8.0-incuba tor.jar (org.osgi.framework.BundleException: Unresolved package in bundle 3: org
.osgi.framework [version=1.3.0])
org.osgi.framework.BundleException: Unresolved package in bundle 3: org.osgi.fra
mework [version=1.3.0]
at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1362)
       at org.apache.felix.framework.Felix._startBundle(Felix.java:1241)
       at org.apache.felix.framework.Felix.startBundle(Felix.java:1201)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:80
7)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:256
)
       at java.lang.Thread.run(Thread.java:619)
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

#
# Framework config properties.
#
org.osgi.framework.system.packages=org.osgi.framework; version=1.3.0, \
 org.osgi.service.packageadmin; version=1.2.0, \
 org.osgi.service.startlevel; version=1.0.0, \
 org.osgi.service.url; version=1.0.0 \
 ${jre-${java.specification.version}}

#org.osgi.framework.bootdelegation=sun.*,com.sun.*
#felix.cache.profile=foo
felix.auto.start.1= \
 file:bundle/org.apache.felix.shell-0.8.0-incubator.jar \
 file:bundle/org.apache.felix.shell.tui-0.8.0-incubator.jar \
 file:bundle/org.apache.felix.bundlerepository-0.8.0-incubator.jar 
felix.startlevel.framework=1
felix.startlevel.bundle=1
#framework.service.urlhandlers=false

#
# Bundle config properties.
#
org.osgi.service.http.port=8080
obr.shell.telnet=on
#obr.repository.url=http://bundles.osgi.org/obr/browse?_xml=1&cmd=repository


#
# Java platform package export properties.
#
jre-1.3=, \
 javax.accessibility; \
 javax.accessibility.resources; \
 javax.naming; \
 javax.naming.directory; \
 javax.naming.event; \
 javax.naming.ldap; \
 javax.naming.spi; \
 javax.rmi; \
 javax.rmi.CORBA; \
 javax.sound.midi; \
 javax.sound.midi.spi; \
 javax.sound.sampled; \
 javax.sound.sampled.spi; \
 javax.swing; \
 javax.swing.border; \
 javax.swing.colorchooser; \
 javax.swing.event; \
 javax.swing.filechooser; \
 javax.swing.plaf; \
 javax.swing.plaf.basic; \
 javax.swing.plaf.basic.resources; \
 javax.swing.plaf.metal; \
 javax.swing.plaf.metal.resources; \
 javax.swing.plaf.multi; \
 javax.swing.table; \
 javax.swing.text; \
 javax.swing.text.html; \
 javax.swing.text.html.parser; \
 javax.swing.text.rtf; \
 javax.swing.tree; \
 javax.swing.undo; \
 javax.transaction; \
 org.omg.CORBA; \
 org.omg.CORBA_2_3; \
 org.omg.CORBA_2_3.portable; \
 org.omg.CORBA.DynAnyPackage; \
 org.omg.CORBA.ORBPackage; \
 org.omg.CORBA.portable; \
 org.omg.CORBA.TypeCodePackage; \
 org.omg.CosNaming; \
 org.omg.CosNaming.NamingContextPackage; \
 org.omg.SendingContext; \
 org.omg.stub.java.rmi; \
 version="1.3.0"

jre-1.4=, \
 javax.accessibility; \
 javax.imageio; \
 javax.imageio.event; \
 javax.imageio.metadata; \
 javax.imageio.plugins.jpeg; \
 javax.imageio.spi; \
 javax.imageio.stream; \
 javax.naming; \
 javax.naming.directory; \
 javax.naming.event; \
 javax.naming.ldap; \
 javax.naming.spi; \
 javax.print; \
 javax.print.attribute; \
 javax.print.attribute.standard; \
 javax.print.event; \
 javax.rmi; \
 javax.rmi.CORBA; \
 javax.security.auth; \
 javax.security.auth.callback; \
 javax.security.auth.kerberos; \
 javax.security.auth.login; \
 javax.security.auth.spi; \
 javax.security.auth.x500; \
 javax.sound.midi; \
 javax.sound.midi.spi; \
 javax.sound.sampled; \
 javax.sound.sampled.spi; \
 javax.sql; \
 javax.swing; \
 javax.swing.border; \
 javax.swing.colorchooser; \
 javax.swing.event; \
 javax.swing.filechooser; \
 javax.swing.plaf; \
 javax.swing.plaf.basic; \
 javax.swing.plaf.metal; \
 javax.swing.plaf.multi; \
 javax.swing.table; \
 javax.swing.text; \
 javax.swing.text.html; \
 javax.swing.text.html.parser; \
 javax.swing.text.rtf; \
 javax.swing.tree; \
 javax.swing.undo; \
 javax.transaction; \
 javax.transaction.xa; \
 javax.xml.parsers; \
 javax.xml.transform; \
 javax.xml.transform.dom; \
 javax.xml.transform.sax; \
 javax.xml.transform.stream; \
 org.ietf.jgss; \
 org.omg.CORBA; \
 org.omg.CORBA_2_3; \
 org.omg.CORBA_2_3.portable; \
 org.omg.CORBA.DynAnyPackage; \
 org.omg.CORBA.ORBPackage; \
 org.omg.CORBA.portable; \
 org.omg.CORBA.TypeCodePackage; \
 org.omg.CosNaming; \
 org.omg.CosNaming.NamingContextExtPackage; \
 org.omg.CosNaming.NamingContextPackage; \
 org.omg.Dynamic; \
 org.omg.DynamicAny; \
 org.omg.DynamicAny.DynAnyFactoryPackage; \
 org.omg.DynamicAny.DynAnyPackage; \
 org.omg.IOP; \
 org.omg.IOP.CodecFactoryPackage; \
 org.omg.IOP.CodecPackage; \
 org.omg.Messaging; \
 org.omg.PortableInterceptor; \
 org.omg.PortableInterceptor.ORBInitInfoPackage; \
 org.omg.PortableServer; \
 org.omg.PortableServer.CurrentPackage; \
 org.omg.PortableServer.POAManagerPackage; \
 org.omg.PortableServer.POAPackage; \
 org.omg.PortableServer.portable; \
 org.omg.PortableServer.ServantLocatorPackage; \
 org.omg.SendingContext; \
 org.omg.stub.java.rmi; \
 org.w3c.dom; \
 org.w3c.dom.css; \
 org.w3c.dom.events; \
 org.w3c.dom.html; \
 org.w3c.dom.stylesheets; \
 org.w3c.dom.traversal; \
 org.w3c.dom.views; \
 org.xml.sax; \
 org.xml.sax.ext; \
 org.xml.sax.helpers; \
 version="1.4.0"

jre-1.5=, \
 javax.accessibility; \
 javax.activity; \
 javax.imageio; \
 javax.imageio.event; \
 javax.imageio.metadata; \
 javax.imageio.plugins.bmp; \
 javax.imageio.plugins.jpeg; \
 javax.imageio.spi; \
 javax.imageio.stream; \
 javax.management; \
 javax.management.loading; \
 javax.management.modelmbean; \
 javax.management.monitor; \
 javax.management.openmbean; \
 javax.management.relation; \
 javax.management.remote; \
 javax.management.remote.rmi; \
 javax.management.timer; \
 javax.naming; \
 javax.naming.directory; \
 javax.naming.event; \
 javax.naming.ldap; \
 javax.naming.spi; \
 javax.print; \
 javax.print.attribute; \
 javax.print.attribute.standard; \
 javax.print.event; \
 javax.rmi; \
 javax.rmi.CORBA; \
 javax.rmi.ssl; \
 javax.security.auth; \
 javax.security.auth.callback; \
 javax.security.auth.kerberos; \
 javax.security.auth.login; \
 javax.security.auth.spi; \
 javax.security.auth.x500; \
 javax.security.sasl; \
 javax.sound.midi; \
 javax.sound.midi.spi; \
 javax.sound.sampled; \
 javax.sound.sampled.spi; \
 javax.sql; \
 javax.sql.rowset; \
 javax.sql.rowset.serial; \
 javax.sql.rowset.spi; \
 javax.swing; \
 javax.swing.border; \
 javax.swing.colorchooser; \
 javax.swing.event; \
 javax.swing.filechooser; \
 javax.swing.plaf; \
 javax.swing.plaf.basic; \
 javax.swing.plaf.metal; \
 javax.swing.plaf.multi; \
 javax.swing.plaf.synth; \
 javax.swing.table; \
 javax.swing.text; \
 javax.swing.text.html; \
 javax.swing.text.html.parser; \
 javax.swing.text.rtf; \
 javax.swing.tree; \
 javax.swing.undo; \
 javax.transaction; \
 javax.transaction.xa; \
 javax.xml; \
 javax.xml.datatype; \
 javax.xml.namespace; \
 javax.xml.parsers; \
 javax.xml.transform; \
 javax.xml.transform.dom; \
 javax.xml.transform.sax; \
 javax.xml.transform.stream; \
 javax.xml.validation; \
 javax.xml.xpath; \
 org.ietf.jgss; \
 org.omg.CORBA; \
 org.omg.CORBA_2_3; \
 org.omg.CORBA_2_3.portable; \
 org.omg.CORBA.DynAnyPackage; \
 org.omg.CORBA.ORBPackage; \
 org.omg.CORBA.portable; \
 org.omg.CORBA.TypeCodePackage; \
 org.omg.CosNaming; \
 org.omg.CosNaming.NamingContextExtPackage; \
 org.omg.CosNaming.NamingContextPackage; \
 org.omg.Dynamic; \
 org.omg.DynamicAny; \
 org.omg.DynamicAny.DynAnyFactoryPackage; \
 org.omg.DynamicAny.DynAnyPackage; \
 org.omg.IOP; \
 org.omg.IOP.CodecFactoryPackage; \
 org.omg.IOP.CodecPackage; \
 org.omg.Messaging; \
 org.omg.PortableInterceptor; \
 org.omg.PortableInterceptor.ORBInitInfoPackage; \
 org.omg.PortableServer; \
 org.omg.PortableServer.CurrentPackage; \
 org.omg.PortableServer.POAManagerPackage; \
 org.omg.PortableServer.POAPackage; \
 org.omg.PortableServer.portable; \
 org.omg.PortableServer.ServantLocatorPackage; \
 org.omg.SendingContext; \
 org.omg.stub.java.rmi; \
 org.omg.stub.javax.management.remote.rmi; \
 org.w3c.dom; \
 org.w3c.dom.bootstrap; \
 org.w3c.dom.css; \
 org.w3c.dom.events; \
 org.w3c.dom.html; \
 org.w3c.dom.ls; \
 org.w3c.dom.ranges; \
 org.w3c.dom.stylesheets; \
 org.w3c.dom.traversal; \
 org.w3c.dom.views; \
 org.xml.sax; \
 org.xml.sax.ext; \
 org.xml.sax.helpers; \
 version="1.5.0"

jre-1.6=, \
 java.applet; \
 java.awt; \
 java.awt.color; \
 java.awt.datatransfer; \
 java.awt.dnd; \
 java.awt.dnd.peer; \
 java.awt.event; \
 java.awt.font; \
 java.awt.geom; \
 java.awt.im; \
 java.awt.image; \
 java.awt.image.renderable; \
 java.awt.im.spi; \
 java.awt.peer; \
 java.awt.print; \
 java.beans; \
 java.beans.beancontext; \
 java.io; \
 java.lang; \
 java.lang.annotation; \
 java.lang.instrument; \
 java.lang.management; \
 java.lang.ref; \
 java.lang.reflect; \
 java.math; \
 java.net; \
 java.nio; \
 java.nio.channels; \
 java.nio.channels.spi; \
 java.nio.charset; \
 java.nio.charset.spi; \
 java.rmi; \
 java.rmi.activation; \
 java.rmi.dgc; \
 java.rmi.registry; \
 java.rmi.server; \
 java.security; \
 java.security.acl; \
 java.security.cert; \
 java.security.interfaces; \
 java.security.spec; \
 java.sql; \
 java.text; \
 java.text.spi; \
 java.util; \
 java.util.concurrent; \
 java.util.concurrent.atomic; \
 java.util.concurrent.locks; \
 java.util.jar; \
 java.util.logging; \
 java.util.prefs; \
 java.util.regex; \
 java.util.spi; \
 java.util.zip; \
 javax.accessibility; \
 javax.activation; \
 javax.activity; \
 javax.annotation; \
 javax.annotation.processing; \
 javax.imageio; \
 javax.imageio.event; \
 javax.imageio.metadata; \
 javax.imageio.plugins.bmp; \
 javax.imageio.plugins.jpeg; \
 javax.imageio.spi; \
 javax.imageio.stream; \
 javax.jws; \
 javax.jws.soap; \
 javax.lang.model; \
 javax.lang.model.element; \
 javax.lang.model.type; \
 javax.lang.model.util; \
 javax.management; \
 javax.management.loading; \
 javax.management.modelmbean; \
 javax.management.monitor; \
 javax.management.openmbean; \
 javax.management.relation; \
 javax.management.remote; \
 javax.management.remote.rmi; \
 javax.management.timer; \
 javax.naming; \
 javax.naming.directory; \
 javax.naming.event; \
 javax.naming.ldap; \
 javax.naming.spi; \
 javax.print; \
 javax.print.attribute; \
 javax.print.attribute.standard; \
 javax.print.event; \
 javax.rmi; \
 javax.rmi.CORBA; \
 javax.rmi.ssl; \
 javax.script; \
 javax.security.auth; \
 javax.security.auth.callback; \
 javax.security.auth.kerberos; \
 javax.security.auth.login; \
 javax.security.auth.spi; \
 javax.security.auth.x500; \
 javax.security.sasl; \
 javax.smartcardio; \
 javax.sound.midi; \
 javax.sound.midi.spi; \
 javax.sound.sampled; \
 javax.sound.sampled.spi; \
 javax.sql; \
 javax.sql.rowset; \
 javax.sql.rowset.serial; \
 javax.sql.rowset.spi; \
 javax.swing; \
 javax.swing.border; \
 javax.swing.colorchooser; \
 javax.swing.event; \
 javax.swing.filechooser; \
 javax.swing.plaf; \
 javax.swing.plaf.basic; \
 javax.swing.plaf.metal; \
 javax.swing.plaf.multi; \
 javax.swing.plaf.synth; \
 javax.swing.table; \
 javax.swing.text; \
 javax.swing.text.html; \
 javax.swing.text.html.parser; \
 javax.swing.text.rtf; \
 javax.swing.tree; \
 javax.swing.undo; \
 javax.tools; \
 javax.transaction; \
 javax.transaction.xa; \
 javax.xml; \
 javax.xml.bind; \
 javax.xml.bind.annotation; \
 javax.xml.bind.annotation.adapters; \
 javax.xml.bind.attachment; \
 javax.xml.bind.helpers; \
 javax.xml.bind.util; \
 javax.xml.crypto; \
 javax.xml.crypto.dom; \
 javax.xml.crypto.dsig; \
 javax.xml.crypto.dsig.dom; \
 javax.xml.crypto.dsig.keyinfo; \
 javax.xml.crypto.dsig.spec; \
 javax.xml.datatype; \
 javax.xml.namespace; \
 javax.xml.parsers; \
 javax.xml.soap; \
 javax.xml.stream; \
 javax.xml.stream.events; \
 javax.xml.stream.util; \
 javax.xml.transform; \
 javax.xml.transform.dom; \
 javax.xml.transform.sax; \
 javax.xml.transform.stax; \
 javax.xml.transform.stream; \
 javax.xml.validation; \
 javax.xml.ws; \
 javax.xml.ws.handler; \
 javax.xml.ws.handler.soap; \
 javax.xml.ws.http; \
 javax.xml.ws.soap; \
 javax.xml.ws.spi; \
 javax.xml.xpath; \
 org.ietf.jgss; \
 org.jcp.xml.dsig.internal; \
 org.jcp.xml.dsig.internal.dom; \
 org.omg.CORBA; \
 org.omg.CORBA_2_3; \
 org.omg.CORBA_2_3.portable; \
 org.omg.CORBA.DynAnyPackage; \
 org.omg.CORBA.ORBPackage; \
 org.omg.CORBA.portable; \
 org.omg.CORBA.TypeCodePackage; \
 org.omg.CosNaming; \
 org.omg.CosNaming.NamingContextExtPackage; \
 org.omg.CosNaming.NamingContextPackage; \
 org.omg.Dynamic; \
 org.omg.DynamicAny; \
 org.omg.DynamicAny.DynAnyFactoryPackage; \
 org.omg.DynamicAny.DynAnyPackage; \
 org.omg.IOP; \
 org.omg.IOP.CodecFactoryPackage; \
 org.omg.IOP.CodecPackage; \
 org.omg.Messaging; \
 org.omg.PortableInterceptor; \
 org.omg.PortableInterceptor.ORBInitInfoPackage; \
 org.omg.PortableServer; \
 org.omg.PortableServer.CurrentPackage; \
 org.omg.PortableServer.POAManagerPackage; \
 org.omg.PortableServer.POAPackage; \
 org.omg.PortableServer.portable; \
 org.omg.PortableServer.ServantLocatorPackage; \
 org.omg.SendingContext; \
 org.omg.stub.java.rmi; \
 org.omg.stub.javax.management.remote.rmi; \
 org.w3c.dom; \
 org.w3c.dom.bootstrap; \
 org.w3c.dom.css; \
 org.w3c.dom.events; \
 org.w3c.dom.html; \
 org.w3c.dom.ls; \
 org.w3c.dom.ranges; \
 org.w3c.dom.stylesheets; \
 org.w3c.dom.traversal; \
 org.w3c.dom.views; \
 org.w3c.dom.xpath; \
 org.xml.sax; \
 org.xml.sax.ext; \
 org.xml.sax.helpers; \
 version=\"1.6.0\"

Reply via email to