RAP 프로젝트를 설정하다보면 Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8이라는 오류가 발생할 때가 있다.
jre1.8에 관련된 Build Path, 환경변수, 컴파일러 매칭이 정상적으로 이루어지지 않았을 때인데
1차적으로 프로젝트 설정에서 JavaSE-1.8, jre1.8로 통일시켜 매칭시키면 문제는 대게 해결 된다.
org.osgi.framework.BundleException: The bundle "TestRAP_1.0.0.qualifier [63]" could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
위 오류 내용이 나온다면 아래와 같이 따라하면 대게 해결 될 것이다.
* 사실 RAP 프로젝트 환경설정 과정에서 문제가 발생한 경우 Target Platform이 제대로 설정이 되어 있는지, RAP 프로젝트에서 사용하고 있는 라이브러리의 Build Path가 잘 매칭이 되어 있는지, RAP 프로젝트에서 요구하는 Plugin이 잘 등록이 되어 있는지 재차 확인해보면 어딘가 Version이 맞지 않아서 실행이 안 되는 경우가 있다.
필자 같은 경우는 Zest와 gef등을 이용하기 위해 RAP 2.1 버전을 사용할 때가 있고, RAP 3.5 버전을 사용할 때가 있는데 이 두 버전 모두 호환이 안되는 경우가 있다.
또한 이클립스의 Version도 2016년도에 나온 이클립스에서 개발한 것을 2019년도에서 나온 이클립스로 실행시켜보면 안되는 경우가 있다. 적당히 타협해서 2018년도 버전을 사용하거나, 중간 버전을 사용하도록 하자.
1) Build Path, 환경변수, 컴파일러 매칭
자세한 내용은 추후 링크를 달겠다.
2) Execution Environments Plug-in 설정
RAP 프로젝트의 MANIFEST.MF를 열어본다.
빨간 박스 안에 프로젝트가 요구하는 JavaSE-1.8버전이 1.7이라던가, 다르게 되어 있을 수도 있다.
빨간 박스 안에 있는 Configure JRE associations...를 눌러본다.
프로젝트가 요구하는 버전으로 매칭을 시키고 Apply를 누른다.
그리고 프로젝트 실행.
3) Execution Environments 삭제
1번, 2번을 진행해도 오류가 사라지지 않을 때가 있는데, 이때는 과감히 빨간 박스를 비워버린다.
그리고 실행.
실행이 잘 된다.
'Java > RCP&GEF' 카테고리의 다른 글
[GEF] Eclipse GEF 3.11 다운로드 방법 (0) | 2020.04.02 |
---|---|
Eclipse GEF - Editor를 화면에 띄우는 방법 (0) | 2020.04.02 |
Eclipse RCP - plugin.xml에서 View의 데이터 다른 View로 옮기기 (0) | 2020.04.01 |
Eclipse RCP - plugin.xml을 사용한 view 생성 (2) | 2020.04.01 |
Eclipse RCP - plugin.xml을 사용한 Command Handler 생성 (0) | 2020.04.01 |