Error Class Def not found

Minha Classe Midlet

package Mobile;

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Mobile extends MIDlet {

	private Display display;

	public Mobile() {
		// TODO Auto-generated constructor stub
	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		// TODO Auto-generated method stub

	}

	protected void startApp() throws MIDletStateChangeException {
		if (display == null) {
			display = Display.getDisplay(this);
		}
		try {
			display.setCurrent(new Splash(this));
		} catch (Throwable th) {
			th.printStackTrace();
		}

	}

}

Minha Classe Splash


package Mobile;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Splash extends Canvas implements Runnable {

	private Image image;
	private Mobile mobile;

	public Splash(Mobile mobile) {
		this.mobile = mobile;
		try {
			image = Image.createImage("/gnucash.png");
			Thread t = new Thread(this);
			t.start();
		} catch (Throwable e) {
			e.printStackTrace();
		}
	}

	public void run() {
		try {
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();

			}
			dismiss();
		} catch (Throwable th) {
			th.printStackTrace();
		}

	}

	protected void paint(Graphics g) {
		int width = getWidth();
		int height = getHeight();
		g.setColor(0x444);
		g.fillRect(0, 0, width, height);
		g.drawImage(image, width / 2, height / 2, Graphics.HCENTER
				| Graphics.VCENTER);

	}

	public void dismiss() {
		try {
			if (isShown())
				Display.getDisplay(mobile).setCurrent(new Menu(mobile));
		} catch (Throwable th) {
			th.printStackTrace();
		}

	}

	public void keyReleased(int keyCode) {
		dismiss();
	}

	public void pointerReleased(int x, int y) {
		dismiss();
	}

}

Minha Classe Menu

package Mobile;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.List;

import Mobile.Usuario.Controlador.CadastroUsuario;

public class Menu extends List implements CommandListener {
	private Mobile mobile;
	private CadastroUsuario cadastroUsuario;
	static String cadUs = "Cadastro de Usuario";
	static String logUs = "Login de Usuario";
	static String sair = "Sair";

	private static String[] menu = new String[] { cadUs, logUs, sair };

	public Menu(Mobile mobile) {
		super("Menu", List.IMPLICIT, menu, null);
		this.mobile = mobile;
		setCommandListener(this);
	}

	public Menu(String title, int listType, String[] stringElements,
			Image[] imageElements) {
		super(title, listType, stringElements, imageElements);
		// TODO Auto-generated constructor stub
	}

	public void commandAction(Command arg0, Displayable arg1) {
		switch (this.getSelectedIndex()) {
		case 0:
			Display.getDisplay(mobile).setCurrent(cadastroUsuario);
			break;
		case 1:
			break;
		case 2:
			this.mobile.notifyDestroyed();
			break;

		}

	}

}

Galera ele esta dando um erro
java.lang.NoClassDefFoundError: Mobile/Usuario/Controlador/CadastroUsuario
at Mobile.Splash.dismiss(+14)
at Mobile.Splash.run(+18)
java.lang.NoClassDefFoundError: Mobile/Usuario/Controlador/CadastroUsuario
at Mobile.Splash.dismiss(+14)
at Mobile.Splash.keyReleased(+4)
at javax.microedition.lcdui.Canvas.callKeyReleased(+19)
at javax.microedition.lcdui.Display$DisplayAccessor.keyEvent(+206)
at javax.microedition.lcdui.Display$DisplayManagerImpl.keyEvent(+11)
at com.sun.midp.lcdui.DefaultEventHandler.keyEvent(+127)
at com.sun.midp.lcdui.AutomatedEventHandler.keyEvent(+210)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+114)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+57)

o Meu Cadastro de Usuario

package Mobile.Usuario.Controlador;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;

import Mobile.Mobile;
import Mobile.Usuario.Controlador.Interface.IControladorUsuario;
import Mobile.Usuario.Repositorio.Interface.IRepositorioUsuario;

public class CadastroUsuario extends Form implements CommandListener,
		IControladorUsuario {

	private IRepositorioUsuario repositorioUsuario;
	private Mobile mobile;
	private Command cmdVoltar = new Command("voltar", Command.BACK, 1);
	private Command cmdCadastrar = new Command("Cadastrar", Command.SCREEN, 1);
	private TextField nome = null;
	private TextField senha = null;
	private TextField senhaNov = null;

	public CadastroUsuario(Mobile Mobile) {
		super("Cadastro de Usuário");
		this.mobile = mobile;

	}

	public boolean cadastrarUsuario(String nome, String senha) {
		repositorioUsuario.salvarUsuario(nome, senha);
		return true;
	}

	public void commandAction(Command c, Displayable d) {
		// TODO Auto-generated method stub

	}

}

Meu projeto esta Organizado da seguinte maneira

Mobile
Mobile.Fachada.Java
Mobile.Menu.Java
Mobile.Mobile.Java
Mobile.Splash.Java
Mobile.Usuario.Controlador
Mobile.Usuario.Controlador.Excecoes
Mobile.Usuario.Controlador.Excecoes.UsuarioException.Java
Mobile.Usuario.Controlador.Interface
Mobile.Usuario.Controlador.Interface.IControladorUsuario.java
Mobile.Usuario.Controlador.CadastroUsuario.Java
Mobile.Usuario.Repositorio
Mobile.Usuario.Repositorio.Interface
Mobile.Usuario.Repositorio.Interface.IRepositorioUsuario.java
Mobile.Usuario.Repositorio.RepositorioUsuario.Java

As vezes a solução é recriar seu projeto com seus fontes, vai saber =/