OSGi 를 이클립스와 상관없이 독립적으로 실행할 수 있게 만들어야 한다.
작성한 번들을 JAR파일로 십게 만드는 방법과 OSGi를 이클립스 없이 단독으로 실행하는 방법에 대해 알아보자
JAR 번들파일로 만들기
번들 파일 만드는 방법은 2가지가 있다.
- 하나의 jar파일을만들어 필요한 모든 파일을 안에다 넣고 jar파일의 위치를 지정하여 설치
- 한 폴더에다 번들의 내용을 복사한후, 해당 폴더를 지정하여 설치
둘 다 같은 API인 bundleContext.installBundle(String location) 메서드를 이용한다. 파라메터가 String이므로 경로를 지정하여 2개다 사용할 수 있다.
압축해서 설치하냐, 폴더 그자체로 설치하냐의 차이뿐이다.
번들로 export하기
해당 프로젝트 우클릭 -> export버튼 클릭 -> source파일 포함유무 정하기
resource들도 포함해야 제대로 결과가 보인다. 이를 해결하기 위해선, manifest.mf에서 build-> binary build에서 원하는 resource선택->export작업하면 됨 쉽죠잉
org.eclipse.osgi.services_3.2.0.v20090520-1800
- OSGi R4 Service Compendium에 정의된 각종 서비스들의 인터페이스만을 포함하고 있다.
org.eclipse.osgi.util_3.2.0.v20090520-1800
- OSGi R4 Service Compendium에 정의된 유틸리티 클래스인 XML Parser, Position, Measurement클래스에 대한 인터페이스 및 구현체를 가지고 있다.
org.eclipse.osgi_3.5.1.R35x_v20090827
- 이쿼녹스의 메인 JAR파일.
- 이 파일만 있으면 OSGi프레임워크를 구동할 수 있다.
콘솔로 실행하기
실제 작업을 할 폴더에 위의 3개를 옮긴다.
터미널창 띄운다. 다음 명령어를 입력한다.
$java -jar org.eclipse.osgi_3.5.1.R35x_v20090827 -console
뚜둥
osgi> 콘솔로 들어갔다!
콘솔을 실행하고 나면 해당 폴더아래에 configuration이라는 폴더가 생긴다. 이 폴더는 OSGi 프레임워크를 실행할때 필요한 설정 파일과 로그 파일이 저장되며, 앞에서 계속 얘기했던 영구 저장영역으로 활용되는 폴더로 내부는 이렇게 생겼다.
C:/work - OSGi를 실행하는 루트폴더
configuration\ : config.ini와 log파일 저장위치
org.eclipse.osgi\ : OSGi의 Persistent Storage Area
.manager\ : OSGi 스토리지 매니저가 사용하는 임시폴더
bundles\ : 프레임워크에 설치된 각 번들파일을 위한 폴더
2\ : 번들 ID당 한개의 폴더
1\ :각 번들 ID아래의 '1'폴더는 실제 번들 JAR파일 저장소
data\ : 번들이 사용하는 임시 데이터 저장장소
-configuration : OSGi 설정파일인 config.ini와 OSGi에서 발생하는 에러로그가 저장된다.
-config.ini : OSGi 프레임워크를 실행하는데 필요한 각종 설정을 하는 파일이다.
-*.log : OSGi에서 발생하는 각종 에러 로그가 기록되는 파일이다. 이 로그에는 여러분이 만든 번들을 실행할 때마다 발생하는 프레임워크 레벨의 에러가 저장된다. 번들이 오작동하면 이 로그파일을 뒤져보자
bundles : 각 번들용 폴더
- 프레임워크에서 부여하는 번들 ID에 따라 번들의 폴더가 결정된다.
작성한 번들을 JAR파일로 십게 만드는 방법과 OSGi를 이클립스 없이 단독으로 실행하는 방법에 대해 알아보자
JAR 번들파일로 만들기
번들 파일 만드는 방법은 2가지가 있다.
- 하나의 jar파일을만들어 필요한 모든 파일을 안에다 넣고 jar파일의 위치를 지정하여 설치
- 한 폴더에다 번들의 내용을 복사한후, 해당 폴더를 지정하여 설치
둘 다 같은 API인 bundleContext.installBundle(String location) 메서드를 이용한다. 파라메터가 String이므로 경로를 지정하여 2개다 사용할 수 있다.
압축해서 설치하냐, 폴더 그자체로 설치하냐의 차이뿐이다.
번들로 export하기
해당 프로젝트 우클릭 -> export버튼 클릭 -> source파일 포함유무 정하기
resource들도 포함해야 제대로 결과가 보인다. 이를 해결하기 위해선, manifest.mf에서 build-> binary build에서 원하는 resource선택->export작업하면 됨 쉽죠잉
org.eclipse.osgi.services_3.2.0.v20090520-1800
- OSGi R4 Service Compendium에 정의된 각종 서비스들의 인터페이스만을 포함하고 있다.
org.eclipse.osgi.util_3.2.0.v20090520-1800
- OSGi R4 Service Compendium에 정의된 유틸리티 클래스인 XML Parser, Position, Measurement클래스에 대한 인터페이스 및 구현체를 가지고 있다.
org.eclipse.osgi_3.5.1.R35x_v20090827
- 이쿼녹스의 메인 JAR파일.
- 이 파일만 있으면 OSGi프레임워크를 구동할 수 있다.
콘솔로 실행하기
실제 작업을 할 폴더에 위의 3개를 옮긴다.
터미널창 띄운다. 다음 명령어를 입력한다.
$java -jar org.eclipse.osgi_3.5.1.R35x_v20090827 -console
뚜둥
osgi> 콘솔로 들어갔다!
콘솔을 실행하고 나면 해당 폴더아래에 configuration이라는 폴더가 생긴다. 이 폴더는 OSGi 프레임워크를 실행할때 필요한 설정 파일과 로그 파일이 저장되며, 앞에서 계속 얘기했던 영구 저장영역으로 활용되는 폴더로 내부는 이렇게 생겼다.
C:/work - OSGi를 실행하는 루트폴더
configuration\ : config.ini와 log파일 저장위치
org.eclipse.osgi\ : OSGi의 Persistent Storage Area
.manager\ : OSGi 스토리지 매니저가 사용하는 임시폴더
bundles\ : 프레임워크에 설치된 각 번들파일을 위한 폴더
2\ : 번들 ID당 한개의 폴더
1\ :각 번들 ID아래의 '1'폴더는 실제 번들 JAR파일 저장소
data\ : 번들이 사용하는 임시 데이터 저장장소
-configuration : OSGi 설정파일인 config.ini와 OSGi에서 발생하는 에러로그가 저장된다.
-config.ini : OSGi 프레임워크를 실행하는데 필요한 각종 설정을 하는 파일이다.
-*.log : OSGi에서 발생하는 각종 에러 로그가 기록되는 파일이다. 이 로그에는 여러분이 만든 번들을 실행할 때마다 발생하는 프레임워크 레벨의 에러가 저장된다. 번들이 오작동하면 이 로그파일을 뒤져보자
bundles : 각 번들용 폴더
- 프레임워크에서 부여하는 번들 ID에 따라 번들의 폴더가 결정된다.
'OSGi 이야기' 카테고리의 다른 글
Bundle jar파일로 만들기 (0) | 2011.12.08 |
---|---|
OSGi & Spring DM (0) | 2011.12.01 |
HTTP Service (0) | 2011.11.14 |
OSGI 상태 (0) | 2011.11.14 |
Preference 서비스 (0) | 2011.11.14 |