Eclipse can not 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(){
protected Control createContents(Composite parent){
    Text helloText = new Text(parent, SWT.CENTER);
    helloText.setText("Hello SWT and JFace!");
    return parent;
public static void main(String[] args) {
    // TODO Auto-generated method stub
    HelloSWT_JFace awin = new HelloSWT_JFace();


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$ Source)
at Method)
at 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.