2014-02-11 2 views
0

문장 №1 : GUI로 독립 실행 형 "HelloWorld1"Qt-Jambi 응용 프로그램을 실행할 수 있습니다.eclipse-rcp ([TeamCenter]) 내에서 QApllication을 초기화하는 방법

문장 №2 : ViewPart에서 상속받은 "HelloWorld2"teamcenter-plugin (Eclipse를 통해)을 실행할 수 있습니다.

문 №3 : 내 코드가 꽤 좋은 컴파일 및 링크

public class MyComView extends ViewPart 
{ 
    static 
    { 
     //try to init Qt-Jambi 
     // 
     System.out.println("QQ==before load qtjambi"); 
     // 
     QApplication qap1 = QApplication.instance(); 
     // 
     System.out.println("QQ==after get instance"); 
    } 
    //... 
} 

아래처럼 플러그인 내에서의 QApplication을 초기화하기 위해서 노력. 하지만 난 내가 잘못 했습니까 무엇
!STACK 0 
java.lang.NoClassDefFoundError: com/trolltech/qt/gui/QApplication 
    at com.mycom.myview.views.MyComView.<clinit>(MyComView.java:89) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at java.lang.Class.newInstance0(Unknown Source) 
    at java.lang.Class.newInstance(Unknown Source) 
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:170) 
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:874) 
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) 
    at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267) 
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263) 
    at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:63) 
    at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:324) 
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226) 
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) 
    at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2228) 
    at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1067) 
    at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3816) 
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3813) 
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3789) 
    at com.cals.testplugin2.handlers.CallMyViewPart.execute(CallMyViewPart.java:26) 
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294) 
    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:770) 
    at org.eclipse.ui.menus.CommandContributionItem.access$10(CommandContributionItem.java:756) 
    at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:746) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) 
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) 
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) 
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) 
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at com.teamcenter.rac.aifrcp.Application.runApplication(Unknown Source) 
    at com.teamcenter.rac.aifrcp.Application.start(Unknown Source) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 
    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:368) 
    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:559) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1287) 
Caused by: java.lang.ClassNotFoundException: com.trolltech.qt.gui.QApplication 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
    ... 59 more 

스택 트레이스

아래 가진 java.lang.ClassNotFoundException가를했습니다 ? 그리고 Eclipse-rcp에서 qt-jambi를 올바르게 사용하는 방법, 특히 TeamCenter의 플러그인에서 사용하는 방법은 무엇입니까?

답변

1

java.lang.NoClassDefFoundError는 여러 가지 이유로 발생할 수 있습니다. 코드는 멋지게 컴파일되지만 런타임 중에 예외를 throw합니다.

jar 파일 내의 명령 줄에서 실행합니까? - jar 파일의 매니페스트에 표시되지 않을 수 있습니다. 클래스 경로가 가 따라 당신이 당신의 classpahts를 확인하거나 확인 클래스는 디렉토리를

기본 libs와 COM/트롤 테크/QT/GUI 작업에서 찾을 수있다 만들 Eclipce에 그것을 실행 마십시오 /의 QApplication는 않습니다

원시 libary 코드에. 클래스 경로 나 작업 디렉토리에 qtjambi 네이티브 라이브러리가 있는지 확인하십시오.

관련 문제