2012-02-01 9 views
0

Eclipse RCP에서 플러그인을 개발 중이며 일부 ini 파일을 읽고 써야합니다. 이를 위해 나는 다운로드 한 ini4j 라이브러리를 사용하여 프로젝트의 빌드 경로에 jar 파일을 외부 jar 파일로 추가하려고합니다.ini4j 라이브러리에 대한 클래스를 찾을 수 없습니다.

하지만이 프로젝트를 실행하고 파일을 읽을하려고 할 때이 오류가 얻을 :

java.lang.NoClassDefFoundError: org/ini4j/InvalidFileFormatException 
    at com.mbtech.tools.dioaction.ui.commands.WriteConfigFileHandler.writeFiles(WriteConfigFileHandler.java:87) 
    at com.mbtech.tools.dioaction.ui.commands.TransformHandler.execute(TransformHandler.java:40) 
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293) 
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) 
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) 
    at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) 
    at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829) 
    at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815) 
    at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) 
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754) 
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) 
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) 
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) 
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at com.mbtech.tools.dioaction.ui.Application.start(Application.java:42) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1386) 
Caused by: java.lang.ClassNotFoundException: org.ini4j.InvalidFileFormatException 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
    ... 35 more

나는 해결책을 봤을 분명히 나는 ​​또한 작동하기위한 프로젝트의 클래스 경로를 업데이트해야합니다. 그러나 Eclipse 프로젝트로 프로젝트를 시작하고 Run Configurations 창으로 들어가면 Classpath 탭이 없습니다.

작동하려면 어떻게해야합니까?

답변

1

plugin.xml 편집기에 런타임 탭이 있습니다. 거기에 플러그인 클래스 경로에 항목을 추가 할 수있는 가능성이 있습니다. 항아리를 추가하면 이동하도록 설정해야합니다.