sweet, richard, that did the trick. Yes, I saw the dangling comma at the end that looked like it was continuing to look for something.
The new conf/config.properties works like a champ. I'm going to try this in the build that came out of svn. Brian On 4/13/07, Brian Bonner <[EMAIL PROTECTED]> wrote:
doh! yes, I'm running 1.6. I just built felix from the source and ran into a problem with the code needing access to snapshots. Specifically for the maven-bundle-plugin. I had already had the snapshot repository in my settings.xml as a profile, so I built this project by hand: cd felix\tools\maven2\maven-bundle-plugin and ran mvn -P snapshot clean install and then the ant build went fine. I'll try your config file and see if that does the trick. Thanks. Brian On 4/13/07, Richard S. Hall <[EMAIL PROTECTED]> wrote: > 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\" > >