0. OSGi 환경구축 (단독 실행 방법)
1. OSGi 단독 실행하기
전에 쓴 글에..
아래와 같이 썻었다..
“
우선 조사 자료에 의하면 이클립스를 설치하고
org.eclipse.osgi_3.2.1.R32x_v20060919.jar 와 같은 파일을 이클립스 내에서 찾아서.
java -jar org.eclipse.osgi_3.2.1.R32x_v20060919.jar –console
의 명령어로 실행 하면
osgi>
위처럼 콘솔창이 뜬다고 하는데..
그냥 먹통으로 가만히 있는다..
원인을 모르겠다..
“
원인을 알았다..
우선 OSGi 공식 홈페이지 나온글이.. 업데이트가 안돼있었다.
아무튼 위에 방법은 옛날 방법이다.
java -jar org.eclipse.osgi_3.2.1.R32x_v20060919.jar –console –consoleLog
맨 위의 명령어에 –consoleLog를 추가하면 에러 메시지를 볼수 있다..
!ENTRY org.eclipse.osgi 4 0 2018-01-04 15:37:18.466
!MESSAGE Could not find bundle: org.eclipse.equinox.console
!STACK 0
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console
at
.
.
.
이런 에러메세지 인데.. 번들을 찾을수 없단다..
아무튼 저게 원인인데.. 그래서 검색을 해보니
방법을 찾았다.
최신 버전에는
org.eclipse.equinox.console.jar
org.apache.felix.gogo.shell.jar
org.apache.felix.gogo.command.jar
org.apache.felix.gogo.runtime.jar
파일이 더필요 하단다...
위 파일은 전부 이클립스 폴더에 찾아보면 있다..
검색 해보자
보통 파일을 검색 해보면
뒤에 버전이 붙어서 있는데.. 저 버전 부분은 삭제하고
아래와 같이 파일과 폴더를 구성한다.
다 구성 되면
configuration 폴더 안에
confit.ini 파일을 하나 만들고
osgi.bundles=org.apache.felix.gogo.runtime@start, org.apache.felix.gogo.command@start, org.apache.felix.gogo.shell@start, org.eclipse.equinox.console@start
라고 입력한다.
그리고 cmd 창 하나를 띄우고..
해당 폴더로 가서
java -jar org.eclipse.osgi.jar –console 라고 실행하면
osgi> 라는 입력란을 드디어 볼 수 있을 것이다..
만세!!!
이제 해보면 예제랑 똑같이 된다..
근데 ..
ss를 쳐보면 예제랑 다르게 번들이 4개가 더 등록 되어있다.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.12.1.v20170821-1548
5 ACTIVE org.apache.felix.gogo.runtime_0.10.0.v201209301036
6 ACTIVE org.apache.felix.gogo.command_0.10.0.v201209301215
7 ACTIVE org.apache.felix.gogo.shell_0.10.0.v201212101605
8 ACTIVE org.eclipse.equinox.console_1.1.300.v20170512-2111
osgi>
저것들은 아까 설정한 config.ini과 연관된 것들이다.