У меня есть bunle, которому нужна новая версия osgi (org.osgi.core 6.0.0). И мне нужно развернуть этот пакет в версии с открытым исходным кодом 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 и орг Пакет .osgi.framework 1.8.0 экспортируется. Как это исправить?
ли версия org.osgi.framework может быть переопределен в некоторых GF конфигурации? –