Search code examples
javajakarta-eeglassfishosgiapache-felix

GlassFish 4.1.1 and Apache Felix 5.4.0


I have a bunle which needs the new version of osgi (org.osgi.core 6.0.0). And I need to deploy this bundle in GF 4.1.1 open source version. By default in GF there is an old version of apache felix (4.2.1) so I replaced file glassfish4/glassfish/osgi/felix/bin/felix.jar to version 5.4.0 (I renamed org.apache.felix.framework-5.4.0.jar to felix.jar). After that I cleaned felix cache in domain and started GF. GF seems to work without any problems however I can't deploy my bundle as I get:

[2016-06-13T16:09:04.036+0300] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=287 _ThreadName=Thread-8] [timeMillis: 1465823344036] [levelValue: 800] [[
  org.osgi.framework.BundleException: Unable to resolve com.temp [248](R 248.0): missing requirement [com.temp [248](R 248.0)] osgi.wiring.package; 
(&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0))) Unresolved requirements: [[com.temp [248](R 248.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0)))]
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1175)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1153)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.processAllBundles(DirectoryWatcher.java:1146)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:456)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:263)]]

I've checked org.apache.felix.framework-5.4.0.jar there is default.properties and org.osgi.framework 1.8.0 package is exported. How to fix it?


Solution

  • The problem was fixed by editing glassfish4/glassfish/config/osgi.properties file