简体   繁体   中英

Eclipse cannot find the main class in JFace?

I'm working though a book SWT/JFace IN ACTION by Manning Press.

When I added JFace, Eclipse for some reason could not find the main class though it is plainly present.

Here is the code

package com.swtjface.ChTwo;

import org.eclipse.jface.window.*;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;

public class HelloSWT_JFace extends ApplicationWindow{

/**
 * @param args
 */
public HelloSWT_JFace(){
    super(null);
}
protected Control createContents(Composite parent){
    Text helloText = new Text(parent, SWT.CENTER);
    helloText.setText("Hello SWT and JFace!");
    parent.pack();
    return parent;
}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    HelloSWT_JFace awin = new HelloSWT_JFace();
    awin.setBlockOnOpen(true);
    awin.open();
    Display.getCurrent().dispose();
}

 }

The reject message I get from Eclipse is...

Could not find the main class: com.swtjface.ChTwo.HelloSWT_JFace.
Program will exit.

Here is the exception...

java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
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)
Exception in thread "main"

You need at least 2 more jars to use JFace:

  • org.eclipse.equinox.common
  • org.eclipse.core.commands

See Using JFace outside the Eclipse platform for more details.

You need to add jar file for "org.eclipse.core.runtime.IProgressMonitor class"

Check this link .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM