Cliente-Servidor

Caros,Boa Tarde,
Estou começando a ver cliente-servidor java e estou com um problema, basei minha aplicação em uma apostila que achei na net, mais não estou conseguindo pegar um objeto do servidor,quando executo, cai na exceção ClassNotFoundException no cliente,e eu tenho a classe pessoa tanto no pacote cliente e servidor, pelo o que eu entendi as duas classes tem que estar implementadas tanto no pacote cliente e servidor,correto?

[code]
package cliente;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import cliente.Pessoa;

/**
*

  • @author aramis
    */
    public class Main {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) throws IOException, ClassNotFoundException {
      // TODO code application logic here
      try{
      Socket cliente = new Socket(“localhost”, 5050);
      Pessoa pessoa = new Pessoa();
      ObjectInputStream oin = new ObjectInputStream(cliente.getInputStream());
      pessoa = (Pessoa)oin.readObject();
      System.out.println(“Pessoa Obtido do servidor!”);
      pessoa.imprimie();
      //fecha canal de recebimento
      oin.close();
      //fecha cliente
      cliente.close();
      //Erro no host…
      }catch(UnknownHostException e)
      {
      System.out.println(“Servidor fora do ar ou não existe!”);
      }
      catch(IOException e)
      {
      System.out.println(“Erro de entrada e saída!”);
      }
      catch(ClassNotFoundException e)
      {
      System.out.println(“A classe pessoa não está presente no Cliente!”);
      }

    }

}

package servidor;

import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;

/**
 *
 * @author aramis
 */
public class Main {
    private static ArrayList<Pessoa> pessoa;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        
        //Criando uma coleção de pessoas
        pessoa = new ArrayList<Pessoa>();
        pessoa.add(new Pessoa("Aramis",24));
        pessoa.add(new Pessoa("Ariel",22));
        pessoa.add(new Pessoa("André",26));
        
        try{
            //Criando servidor
            ServerSocket serverSocket = new ServerSocket(5050);
            //esperando conexão
            Socket socket = serverSocket.accept();
            //servidor processa conexãp
            processaConexão(socket);
           
          }catch(BindException e){
             
            System.out.println("Porta está em uso..");  
         }catch(IOException e){
             
            System.out.println("Erro de entrada ou saída de dados...");   
         }
    }

    private static void processaConexão(Socket socket) {
       
        try{
           //canal de envios de ados
           ObjectOutputStream oin = new ObjectOutputStream(socket.getOutputStream());
           //Escolhe uma pessoa aleatoriamente
           int escolhida = (int)(Math.random()*pessoa.size()); 
           oin.writeObject(pessoa.get(escolhida));
           //fecha o canal de envio
           oin.close();
           //fecha socket
           socket.close();
           //erro de entrada ou saída...
        }catch(IOException e){
            System.out.println("Erro de atendimento a conexão...");
        }
    }
}
import java.io.Serializable;

/**
 *
 * @author aramis
 */
public class Pessoa implements Serializable{

    private String nome;
    private int idade;

    Pessoa(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    Pessoa() {
        
    }
    
    public void imprimie(){
        System.out.println("Nome: "+nome+"Idade: "+idade);
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the idade
     */
    public int getIdade() {
        return idade;
    }

    /**
     * @param idade the idade to set
     */
    public void setIdade(int idade) {
        this.idade = idade;
    }
}

Desde já agradeço a ajuda!

Pode postar o erro?
stack trace?

Abs.

Tirando a seguinte linha do código:

catch(ClassNotFoundException e) { System.out.println("A classe pessoa não está presente no Cliente!"); }

É exibido o seguinte erro:

Exception in thread “main” java.lang.ClassNotFoundException: servidor.Pessoa
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:622)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at cliente.Main.main(Main.java:30)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Com o Exception é retornada a mensagem "A classe pessoa não está presente no Cliente!

Obrigado!

Tópico movido para o fórum de Java Avançado.

Pessoal,alguem sabe o que eu devo fazer?

Galera eu sei qual foi o erro, eu fiz um projeto cliente e um projeto servidor,projetos diferentes,ai eu coloquei tudo no mesmo projeto e deu certo, acho que confundi o que o professor tinha falado,
Vlw ae!POde fechar o tópico.