2016-06-13 43 views
3

我有一個需要新版本的osgi(org.osgi.core 6.0.0)的bunle。我需要在GF 4.1.1開源版本中部署這個包。 GF中默認有一箇舊版本的apache felix(4.2.1),所以我將文件glassfish4/glassfish/osgi/felix/bin/felix.jar替換爲版本5.4.0(我將其重命名爲org.apache.felix.framework- 5.4.0.jar到felix.jar)。之後,我清理了域中的felix緩存並啓動了GF。 GF似乎沒有任何問題的工作,但是我不能部署我的包,我一:GlassFish 4.1.1和Apache Felix 5.4.0

[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)]] 

我檢查org.apache.felix.framework-5.4.0.jar有default.properties和org .osgi.framework 1.8.0包出口。如何解決它?

+0

是org.osgi.framework的版本也許在一些GF配置重寫? –

回答

2

的問題是固定的通過編輯glassfish4/glassfish/config/osgi.properties文件