找不到类在eclipse中运行时出现异常

Gur*_*lki 7 java eclipse

我在eclipse中运行以下代码但是找不到类的异常:

         import org.eclipse.jface.window.Window;
         import org.eclipse.swt.SWT;
         import org.eclipse.swt.widgets.Display;
         import org.eclipse.swt.widgets.Shell;



        public class DialogClass {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    System.out.println("TEst");
    Shell frame = new Shell(SWT.SHELL_TRIM);

    PublishGenericArtefactDialog publishGenericArtefactDialog =            
                       new PublishGenericArtefactDialog(frame);

    publishGenericArtefactDialog.setTitle("Test");

    if (publishGenericArtefactDialog.open() == Window.CANCEL){
        try {
            throw new Exception("Cancelled");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
      }
       }

       }
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

    TEst
    Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IStatus
at DialogClass.main(DialogClass.java:19)
     Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IStatus
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more
Run Code Online (Sandbox Code Playgroud)

需要帮忙

Von*_*onC 10

正如本帖所述

你有没有列出org.eclipse.core.runtime插件依赖Manfest.MF
我认为它IStatus实际上是在Equinox包中,但运行时包含运行时的equinox插件.
如果您只是将其作为Java应用程序运行(例如,通过在类路径上粘贴Jars),那么您可能需要org.eclipse.equinox.core/runtime或类似.

谢谢你的建议.这个问题是通过添加解决org.eclipse.equinox.commonorg.eclipse.core.commands它在我奔跑作为一个SWT应用程序-到Java构建路径属性的项目.

正如AlBlue在评论中所提到的,JFace上Eclipse wiki确认:

JFace可以在独立的SWT + JFace应用程序中使用,而无需Eclipse Runtime或Eclipse Platform的其他部分.
这在3.2(2006)中变得更容易,JFace的唯一先决条件被简化为:

  • SWT,
  • 新的org.eclipse.equinox.common插件,
  • org.eclipse.core.commands插件.

有关更多详细信息,请参阅错误49497.

在3.3中,org.osgi.framework添加了对包的可选依赖项,该依赖项在org.eclipse.osgi.
如果没有此插件,JFace将继续运行,但没有图像的国际化支持.