Erro Eclipse

Tenho uma boa experiência em C++ e por força de um projeto, estou trabalhando com java pela primeira vez utlizando o Eclipse 3.0. Estou com o seguinte problema:

Possuo três classes: Cliente, ClienteVip (extends Cliente) e Produto. O método main encontra-se na classe Cliente. Ao executar a aplicação aparece o seguinte erro:

Exception in thread “main” java.lang.NoClassDefFoundError: Cliente/Java

Seria algo no Classpath? Como eu altero o Classpath no Eclipse? Acho que estou fazendo errado.

Olá chicodantas! Bem vindo ao GUJ!
Teria como você postar aí o código do seu método main?

PS:Não se esqueça de postar o código entre as tags de formatação de código:

//SEU CÓDIGO AQUI

Valeu Mantu!

Obrigado pela atenção!

Bem … fiquei tentando resolver o problema e consegui em parte. Comentei a primeira linha do código (package lib.entidades) e funcionou blz. No entanto, gostaria de saber o que estou fazendo de errado na utilização do pacote. Segue o código.

// CLASSE CLIENTE

//package lib.entidades;
import java.util.Vector;

public class Cliente {
	static int total = 0;
	int idade;
	String nome = null;
	float salario;
	char sexo;
		
	public static void main(String[] args) {
		Vector ListaClientes = new Vector();
		Vector ListaProdutos = new Vector();		
		
		// MANIPULACAO DOS DADOS DO CLIENTE
		Cliente C = new Cliente();
			C.setNome("Jose da Silva Sauro");
			C.setIdade(43);
			C.setSalario((float)4789.98);
			C.setSexo('M');
			ListaClientes.addElement(C);
		
		C = new Cliente("Fortunato Marraquexe", 21,(float)1346.45, 'M');
			ListaClientes.addElement(C); 
				
		System.out.println("\n\nDADOS DO CLIENTE");
		System.out.println("============================");	
		for (int i=0 ; i < ListaClientes.size() ; i++){
			C = (Cliente)ListaClientes.get(i);
			System.out.println(C.toString());
			System.out.println("============================");			
		}
		C = ( (Cliente)ListaClientes.get(0));
		Cliente C1 = ( (Cliente)ListaClientes.get(0));		
		System.out.println("Compara: " +  C.compara(C1) );
		System.out.println("Total de Clientes: " +  C.getTotal() );
		
		//	MANIPULACAO DOS DADOS DO CLIENTE VIP
		ClienteVip CV = new ClienteVip(C,(float)3000.00);
		System.out.println("\n\nDADOS DO CLIENTE VIP");
		System.out.println("============================");			
		System.out.println(CV.toString());
		System.out.println("============================");	
		
		
		// MANIPULACAO DE DADOS DO PRODUTO
		Produto P = new Produto();
			P.setId(0);
			P.setDescricao("nhoque 4 queijos");
			//P.setQtde(5);	
			P.setPreco((float)8.99);		
			ListaProdutos.addElement(P);		
		P = new Produto(1,"Alface", 5,(float)0.80);
			ListaProdutos.addElement(P);
		P = new Produto(2,"Farinha de Trigo", 15,(float)1.89);
			ListaProdutos.addElement(P);  
		P = new Produto(3,"Feijao", 12,(float)3.17);
			ListaProdutos.addElement(P);
		P = new Produto(4,"Macarrao P/ Lasagna", 8,(float)4.23);
			ListaProdutos.addElement(P);  		

		System.out.println("\n\nDADOS DO PRODUTO");
		System.out.println("============================");	
		for (int i=0 ; i < ListaProdutos.size() ; i++){
			P = (Produto)ListaProdutos.get(i);
			System.out.println(P.toString());
			System.out.println("============================");			
		}
	}
	
	Cliente(){Cliente.total ++;}
		
	Cliente(String nome, int idade, float salario, char sexo){
		this.nome = nome;
		this.idade = idade;
		this.salario = salario;
		this.sexo = sexo;
		Cliente.total++;
	}
	
	void destroy(){
		Cliente.total--;
	}

	public boolean compara(Cliente outro){
		boolean r = false;
		if (	this.nome.equalsIgnoreCase(outro.nome)  &&
			this.idade == outro.idade  && 
			this.salario == outro.salario  &&
			this.sexo == outro.sexo	)
				r= true; 
				
		return r;	
	}
	
	public int getTotal(){
		return Cliente.total;
	}
	
	public int getIdade() {
		return idade;
	}

	public String getNome() {
		return nome;
	}

	public float getSalario() {
		return salario;
	}

	public char getSexo() {
		return sexo;
	}

	public void setIdade(int i) {
		idade = i;
	}
	
	public void setNome(String string) {
		nome = string;
	}

	public void setSalario(float f) {
		salario = f;
	}

	public void setSexo(char c) {
		sexo = c;
	}
	
	public int subtrair(int x, int y){
		return x - y;
	}
	
	static public boolean teste(boolean t){
		System.out.println("Método Estático Teste da Classe Cliente");
		return t;
	}
	
	public String toString(){
		String string=null;
		string = "Nome: "+this.nome+"\nIdade: "+this.idade
		         +"\nSalario: "+this.salario+"\nSexo: "+this.sexo;
		return string;	
	}
}

Os pacotes em Java são utilizados para organizar os seus arquivos fontes e também para estabelecer níveis de acesso/visibilidade entre classes e entre membros de classes (métodos, campos, classes internas).
Os pacotes não são um conceito somente lógico, mas também físico. Quando vc declara no topo da sua classe:

package lib.entidades;
public class Cliente{...

isso quer dizer que a sua classe cliente está fisicamente localizada em
<alguma_localização_prevista_em_seu_classpath>\lib\entidades
Vamos supor que o nosso classpath esteja assim:

CLASSPATH=C:\Tests;C:\Homolog

isso quer dizer que o seu arquivo “Cliente.java” deve estar ou em “C:\Tests\lib\entidades” ou em “C:\Homolog\lib\entidades”
Pelo que voce escreveu na sua resposta, provavelmente o seu classpath deve ter uma entrada “.”, que faz com que o diretório atual - seja ele qual for - esteja incluido no classpath.
Não sei como você está rodando suas classes (Com Eclipse, net beans, ou em linha de comando mesmo), mas vamos supor que seja em linha de comando e que o seu classpath seja o sugerido anteriormente. Para rodar a sua classe Cliente, vc terá que ter o compilado (.class) salvo ou em “C:\Tests\lib\entidades” ou em “C:\Homolog\lib\entidades”. Supondo que adotamos o primeiro caso, vc terá que ter na sua máquina uma estrutura de arquivos assim:

C
+---Tests
    +---lib
        +---entidades
            +---Clientes.class

Tendo tudo isso, vc poderá executar o seguinte comando:

java lib.entidades.Clientes

Qualquer coisa, pergunte mais