본문 바로가기

Eclipse/Error

Error 모음

Caused by: org.osgi.framework.BundleException: Exception in .start()


- 원인 : 


Unable to acquire application service


- 원인 : org.eclipse.core.runtime이란 plugin이 실행되지 않아 어떤 product 자체가 실행이 안된거임

- 해결 ?
   {product경로}/configuration/config.ini 파일에서 osgi.bundles property가 org.eclipse.core.runtime@start를 포함하도록 수정



Build 순서가 잘못된 경우 이렇게 에러가 날수도 있음


[ERROR] Cannot resolve project dependencies:

[ERROR]   Software being installed: com.tmaxsoft.top.ide.product 0.0.2.qualifier

[ERROR]   Missing requirement: com.tmaxsoft.top.ide.feature.feature.group 0.0.2.201704010236 requires 'com.codeaffine.eclipse.swt.feature.feature.group [0.4.0.20170331-0230]' but it could not be found

[ERROR]   Cannot satisfy dependency: com.tmaxsoft.top.ide.product 0.0.2.qualifier depends on: com.tmaxsoft.top.ide.feature.feature.group [0.0.1.qualifier,3.0.0)

[ERROR] 



feature 먼저 clean install 해보시고,


안되면 com.codeaffine.xiliary.parnet를 clean install 해보세요



NoClassDefFoundError, ClassNotFoundException


java.lang.NoClassDefFoundError: org/eclipse/core/runtime/CoreException

at com.tmaxsoft.top.debug.web.chromium.ui.launcher.WipLaunchType.createConnectionToRemote(WipLaunchType.java:32)

at com.tmaxsoft.top.debug.web.chromium.ui.launcher.LaunchTypeBase.launch(LaunchTypeBase.java:63)

at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)

at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)

at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)

at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.CoreException cannot be found by com.tmaxsoft.top.web.chromium.wip.eclipse_0.0.2.qualifier

at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)

at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)

at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)

at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 7 more



Manifest.mf의 dependencies에도 걸려있엇음.. 여기는 core.runtime버전이 3.11.1이였음 ( 여기에는 CoreException이 없음 ) 


Runtime > ClassPAth에 Add를 하거나


wip.eclipse에 equinox.common을 추가하였음



ClassNotFoundException : Java Build Path > Order and Export Tab



[ 로그 ]

java.lang.NoClassDefFoundError: jdk/nashorn/internal/runtime/ECMAException


Caused by: java.lang.ClassNotFoundException: jdk.nashorn.internal.runtime.ECMAException cannot be found by org.eclipse.wst.jsdt.core_2.0.0.v201608251059


[ 상황 ]

wst.jsdt.core 쪽이면 우리가 설정한 것도 아닌데 왜 내쪽에서는 에러가 안나고 지원 전임 자리에서만 에러가 나지?


[ 원인 ]


클래스 로더 관련해서 공부 필요 


[ 해결 ]


https://wiki.eclipse.org/JSDT/Equinox_hook_for_Nashorn


 -Dosgi.framework.extensions=org.eclipse.wst.jsdt.nashorn.extension

Activator unloaded


!MESSAGE Plug-in com.tmaxsoft.top.ide was unable to load class com.tmaxsoft.top.ide.Activator.

!STACK 0

java.lang.ClassNotFoundException: com.tmaxsoft.top.ide.Activator cannot be found by com.tmaxsoft.top.ide_0.0.2.qualifier

at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)

at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)


- 원인 : start() method가 호출되기전에 class 를 load 하면 이런 에러가 난다네....

- 해결 : MANIFEST.MF의 ClassPAth에 .추가하면 됨




compile 에러는 안나는데 뭔가 빌드할때 에러가 나는 경우


manifest.mf에 classpath에 더해라.



다른 plugin의 code를 쓰겠다고 Required Plug-ins에 추가해놨는데 import 안되는 경우 ( cannot be resolved ) 



- 원인 : 당연히 classpath에 참조가 안되어 있으니까 그렇지

 - 해결 : 저기에만 한다고(왼쪽 화면) 끝이 아니라 Java Build Path > Libraries 에 있는 Plug-in Dependencies를 추가 해주면 됨
( + F5 누르면 풀리던 이유 : pom.xml -> classpath에 sync를 맞춰주는데 classpath에만 이런식으로 설정해놓으면 그게 사라짐 )