Szukaj…


Uwagi

OSGi to specyfikacja systemu modułu dynamicznego dla JVM. Ma specyfikacje z różnymi wersjami i odbiorcami. Istnieje również wiele implementacji:

Eclipse od wersji 3 jest oparty na OSGi. NetBeans obsługuje również moduły OSGi od wersji 6.9 . Portal Liferay zaczął także używać OSGi jako podstawy modularyzacji od wersji 7.

Wersje

Wersja Data wydania
SGR1 2000-05-01
SPR2 01.10.2001
SR3 2003-03-01
SR4 01.11.2005
SR4.1 2007-05-01
SR4.2 Rdzeń 01.09.2009
SR4.2 Compedium 01.09.2009
SR4.2 Enterprise 01.03.2010
SR4.3 Rdzeń 01.04.2011
SR4.3 Compedium 01.05.2012
SR4.3 Residental 01.05.2012
Rdzeń SR5 01.06.2012
SR5 Enterprise 01.06.2012
Rdzeń SR6 01.06.2014
Kompendium SR6 01.06.2014
SR6 Enterprise 01.08.2015
SR6 Residental 01.08.2015

Uwaga: https://www.osgi.org/developer/specifications/ nie podaje dokładnych dat, dlatego użyto pierwszego dnia miesiąca w tabeli.

Pobieranie i korzystanie z Equinox

Pobierz i rozpakuj zestaw startowy OSGi dla swojej platformy ze strony pobierania Equinox dla wydania Neon .

Uruchom platformę z rt/plugins folder za pomocą następującego polecenia (lub pliku wykonywalnego rt platformy z folderu rt ):

rt/plugins$ java -jar org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar -console
osgi>

W wierszu poleceń OSGi możesz zarządzać pakietami, na przykład:

osgi>ss
"Framework is launched."

id      State       Bundle
0       ACTIVE      org.eclipse.osgi_3.11.0.v20160603-1336
                    Fragments=1
1       RESOLVED    org.eclipse.osgi.compatibility.state_1.0.200.v20160504-1419
                    Master=0
2       RESOLVED    org.apache.commons.codec_1.6.0.v201305230611
3       RESOLVED    org.apache.commons.logging_1.1.1.v201101211721
4       ACTIVE      org.apache.felix.gogo.command_0.10.0.v201209301215
5       ACTIVE      org.apache.felix.gogo.runtime_0.10.0.v201209301036
6       ACTIVE      org.apache.felix.gogo.shell_0.10.0.v201212101605
7       RESOLVED    org.apache.httpcomponents.httpclient_4.3.6.v201511171540
8       RESOLVED    org.apache.httpcomponents.httpcore_4.3.3.v201411290715
9       STARTING    org.eclipse.core.jobs_3.8.0.v20160509-0411
10      STARTING    org.eclipse.ecf_3.8.0.v20160405-1820
                    Fragments=17
11      STARTING    org.eclipse.ecf.filetransfer_5.0.0.v20160405-1820
12      STARTING    org.eclipse.ecf.identity_3.7.0.v20160405-1820
13      STARTING    org.eclipse.ecf.provider.filetransfer_3.2.200.v20160405-1820
                    Fragments=16
14      STARTING    org.eclipse.ecf.provider.filetransfer.httpclient4_1.1.100.v20160405-1820
                    Fragments=15
15      RESOLVED    org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_1.1.0.v20160405-1820
                    Master=14
16      RESOLVED    org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20160405-1820
                    Master=13
17      RESOLVED    org.eclipse.ecf.ssl_1.2.0.v20160405-1820
                    Master=10
18      STARTING    org.eclipse.equinox.app_1.3.400.v20150715-1528
19      ACTIVE      org.eclipse.equinox.common_3.8.0.v20160509-1230
20      STARTING    org.eclipse.equinox.concurrent_1.1.0.v20130327-1442
21      ACTIVE      org.eclipse.equinox.console_1.1.200.v20150929-1405
22      RESOLVED    org.eclipse.equinox.ds_1.4.400.v20160226-2036
23      STARTING    org.eclipse.equinox.frameworkadmin_2.0.300.v20160504-1450
24      ACTIVE      org.eclipse.equinox.frameworkadmin.equinox_1.0.700.v20160102-2223
25      RESOLVED    org.eclipse.equinox.launcher_1.3.200.v20160318-1642
                    Fragments=26
26      RESOLVED    org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444
                    Master=25
27      STARTING    org.eclipse.equinox.p2.artifact.repository_1.1.500.v20160419-0834
28      ACTIVE      org.eclipse.equinox.p2.console_1.0.500.v20160504-1450
29      ACTIVE      org.eclipse.equinox.p2.core_2.4.100.v20160419-0834
30      STARTING    org.eclipse.equinox.p2.director_2.3.300.v20160504-1450
31      STARTING    org.eclipse.equinox.p2.engine_2.4.100.v20160419-0834
32      STARTING    org.eclipse.equinox.p2.garbagecollector_1.0.300.v20160504-1450
33      RESOLVED    org.eclipse.equinox.p2.jarprocessor_1.0.500.v20160504-1450
34      ACTIVE      org.eclipse.equinox.p2.metadata_2.3.100.v20160427-2220
35      STARTING    org.eclipse.equinox.p2.metadata.repository_1.2.300.v20160419-0834
36      STARTING    org.eclipse.equinox.p2.operations_2.4.200.v20160504-1450
37      ACTIVE      org.eclipse.equinox.p2.repository_2.3.200.v20160421-0324
38      STARTING    org.eclipse.equinox.p2.touchpoint.eclipse_2.1.400.v20160419-0834
39      STARTING    org.eclipse.equinox.p2.touchpoint.natives_1.2.100.v20160419-0834
40      STARTING    org.eclipse.equinox.p2.transport.ecf_1.1.200.v20160606-1311
41      STARTING    org.eclipse.equinox.preferences_3.6.0.v20160120-1756
42      ACTIVE      org.eclipse.equinox.registry_3.6.100.v20160223-2218
43      STARTING    org.eclipse.equinox.security_1.2.200.v20150715-1528
                    Fragments=44
44      RESOLVED    org.eclipse.equinox.security.win32.x86_64_1.0.100.v20130327-1442
                    Master=43
45      STARTING    org.eclipse.equinox.simpleconfigurator_1.1.200.v20160504-1450
46      ACTIVE      org.eclipse.equinox.simpleconfigurator.manipulator_2.0.200.v20160504-1450
47      STARTING    org.eclipse.equinox.util_1.0.500.v20130404-1337
48      RESOLVED    org.eclipse.osgi.services_3.5.100.v20160504-1419
49      RESOLVED    org.sat4j.core_2.3.5.v201308161310
50      RESOLVED    org.sat4j.pb_2.3.5.v201404071733
51      RESOLVED    org.tukaani.xz_1.3.0.v201308270617

Korzystanie z Apache Felix

Pobierz Apache Felix Framework Distribution i rozpakuj go do katalogu:

$ tar xf org.apache.felix.main.distribution-5.4.0.tar.gz
$ cd felix-framework-5.4.0

A następnie uruchom framework za pomocą następującego polecenia:

$ java -jar bin/felix.jar
____________________________
Welcome to Apache Felix Gogo
    
g!

Domyślnie Felix używa Apache Felix Gogo jako interaktywnej powłoki. Domyślny wiersz polecenia, g! , pokazano powyżej.

Powłoka Gogo udostępnia kilka prostych wbudowanych poleceń umożliwiających interakcję zarówno ze środowiskiem wykonawczym Gogo, jak i samym środowiskiem OSGi. Wpisz polecenie help na g! monit o wyświetlenie listy wbudowanych poleceń.

Jednym z przykładów jest komenda lb (skrót od list bundles ), która wyświetla listę pakietów OSGi, które są obecnie zainstalowane w frameworku:

g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (5.4.0)|5.4.0
    1|Active     |    1|Apache Felix Bundle Repository (2.0.6)|2.0.6
    2|Active     |    1|Apache Felix Gogo Command (0.16.0)|0.16.0
    3|Active     |    1|Apache Felix Gogo Runtime (0.16.2)|0.16.2
    4|Active     |    1|Apache Felix Gogo Shell (0.10.0)|0.10.0


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow