osgi 튜토리얼
osgi 시작하기
수색…
비고
OSGi는 JVM의 동적 모듈 시스템 사양입니다. 그것은 다른 버전과 관객과 사양이 있습니다. 여러 가지 구현도 있습니다.
Eclipse의 버전 3은 OSGi를 기반으로합니다. NetBeans는 6.9 이후 OSGi 모듈도 처리 할 수 있습니다. Liferay 포털은 버전 7부터 OSGi를 모듈화 기반으로 사용하기 시작했습니다.
버전
| 번역 | 출시일 |
|---|---|
| SGR1 | 2000-05-01 |
| SPR2 | 2001-10-01 |
| SR3 | 2003-03-01 |
| SR4 | 2005-11-01 |
| SR4.1 | 2007-05-01 |
| SR4.2 코어 | 2009-09-01 |
| SR4.2 Compedium | 2009-09-01 |
| SR4.2 엔터프라이즈 | 2010-03-01 |
| SR4.3 코어 | 2011-04-01 |
| SR4.3 Compedium | 2012-05-01 |
| SR4.3 Residental | 2012-05-01 |
| SR5 코어 | 2012-06-01 |
| SR5 Enterprise | 2012-06-01 |
| SR6 코어 | 2014-06-01 |
| SR6 개 요 | 2014-06-01 |
| SR6 엔터프라이즈 | 2015-08-01 |
| SR6 Residental | 2015-08-01 |
참고 : https://www.osgi.org/developer/specifications/ 에는 정확한 날짜가 나와 있지 않으므로 테이블의 해당 월의 첫 번째 날에 사용됩니다.
Equinox 다운로드 및 사용
Neon 릴리스의 Equinox 다운로드 페이지 에서 해당 플랫폼의 OSGi 스타터 키트를 다운로드하고 추출하십시오.
다음 명령 (또는 rt 폴더에서 실행 가능한 플랫폼의 rt 을 사용하여 rt/plugins folder 에서 프레임 워크를 시작하십시오.
rt/plugins$ java -jar org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar -console
osgi>
OSGi 콘솔 프롬프트에서 다음과 같이 번들을 관리 할 수 있습니다.
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
Apache Felix 사용
Apache Felix Framework 배포판을 다운로드하고 디렉토리에 압축을 푸십시오.
$ tar xf org.apache.felix.main.distribution-5.4.0.tar.gz $ cd felix-framework-5.4.0
그리고 다음 명령을 사용하여 프레임 워크를 시작하십시오.
$ java -jar bin/felix.jar
____________________________
Welcome to Apache Felix Gogo
g!
기본적으로 Felix는 Apache Felix Gogo 를 대화 형 쉘로 사용합니다. 기본 명령 프롬프트, g! 위의 그림과 같습니다.
Gogo 쉘은 Gogo 런타임 환경뿐만 아니라 OSGi 프레임 워크 자체와도 상호 작용할 수있는 간단한 내장 명령을 제공합니다. g! help 명령을 입력하십시오 g! 내장 명령 목록을 보려면 프롬프트하라.
하나의 예제는 프레임 워크에 현재 설치되어있는 OSGi 번들 목록을 출력하는 lb ( list bundles의 약자) 명령입니다.
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