Problemas em setar Classpath, Path, Class

5 respostas
B

Olá Pessoal fo Fórum!!! :smiley:

Como muitos sou novato e com problemas em setar Classpath, Path e Class.

Pequei a versão J2SDK1.4.2 do Java e instalei, pequei uma apostila e estou estudando, comecei com o primeiro exemplo e ao compilar aparece e seguinte mensagem:

Exception in thread “main” java.lang.NoClassDefFoundError: OlaMundo

Sei que o problema está em setar as variáveis de sistemas, tentei configurá-las da seguinte forma:

CLASSPATH = C:\j2sdk_nb\j2sdk1.4.2\bin
PATH = C:\j2sdk_nb\j2sdk1.4.2\bin
CLASS = C:\j2sdk_nb\j2sdk1.4.2\bin

Mas o erro continua. Como setar corretamente as variáveis de sistema?

OBS_01: utilizo Windows 2000 e J2SDK1.4.2.
OBS_02: Aos Administradores, poderiam colocar um tópico fixo de como setar essas variáveis nos Sistemas Operacionais mais utilizados. Ex: Linux, Win. 2000, Win. XP, Win 98/9x, etc.

Desde já Muito Obrigado Pessoal!!! :smiley:

Borges.

5 Respostas

J

1-Essa variavel class vc não precisa.
2-Na CLASSPATH coloque:

Coloque assim mesmo, com o “;” separando os caminhos e finalizando.
3- Sugiro que vc pesquise aqui no forum sobre esse assunto p/ que vc entenda o porque dessas configurações e como o java as utiliza na hora de compilar/executar suas classes.
Qualquer coisa manda!
Espero ter ajudado.

[]'s

B

Ok jgbt,

deletei a variável CLASS e setei CLASSPATH p/ C:\j2sdk_nb\j2sdk1.4.2\lib.

Beleza. agora funcionou, porém na apostila tem um exemplo de instanciação que segue abaixo:

primeiro o arq. Bola.java:

// Bola.java

public class Bola {

   // atributos
   double raio;
   boolean oca;
   int cor;
}

depois o arq. DuasBolas.java:

// DuasBolas.java

public class DuasBolas {
   public static void main (String args[]) {

      // instanciando um objeto
      Bola bola_01 = new Bola();
      // armazenando valores em alguns dos atributos deste novo objeto
      bola_01.raio = 34.7;
      bola_01.oca = false;
      bola_01.cor = 10;

      //instanciando outro objeto
      Bola bola_02 = new Bola();
      // armazenando valores em alguns dos atributos deste novo objeto
      bola_02.oca = true;
      bola_02.cor = 1324;
   
      // usando valore armazenados
      bola_02.raio = 5 * bola_01.raio;
      bola_02.cor = bola_01.cor;

      System.out.println("Bola 01:");
      System.out.println("  - raio = " + bola_01.raio);
      System.out.println("  - oca = " + bola_01.oca);
      System.out.println("  - cor = " + bola_01.cor);
      System.out.println("Bola 02:");
      System.out.println("  - raio = " + bola_02.raio);
      System.out.println("  - oca = " + bola_02.oca);
      System.out.println("  - cor = " + bola_02.cor);
   }
}

Consigo compilar sem problemas o arq. Bola, porém ao tentar compilar o arq. DuasBolas.java aparece o seguinte erro:

DuasBolas.java:7: cannot resolve symbol symbol : class Bola location: class DuasBolas Bola bola_01 = new Bola();

DuasBolas.java:14: cannot resolve symbol
symbol : class Bola
location: class DuasBolas
Bola bola_02 = new Bola();

Acredito que o arq. DuasBolas não está encontrando a referencia "Bola" no arq. Bola.java

O que pode estar errado!? tenho certeza que estão digitados corretamente acho que o problema deve ser variáveis de sistema.....

No aguardo e Muito obrigado!!! :D

Borges.

J

O compilador não esta achando a classe.
Vc colocou na CLASSPATH como primeiro caminho .; antes de C:\j2sd… ???
Esse “ponto” como primeiro caminho faz com que ele procure sempre no diretorio corrente.
Seu CLASSPATH ficaria assim:

CLASSPATH=.;C:\j2sdk_nb\j2sdk1.4.2\lib;

Acho que isso deve resolver seu problema.
Se vc der uma procurada aqui no forum vai achar bastante coisa sobre o assunto, e vc vai entender melhor essa configuração.
Espero ter ajudado.

[]'s

B

Ok jgbt,

não coloquei o “.;” e sim “;” no final e o problema continua a ocorrer.

Valeu cara,

Borges.

J

Borges,

Se vc colocou o caminho:

.;C:\j2sdk...;

e a classe pai ja esta compilada, quando vc compilar a classe filho deveria funcionar.
Tente setar a CLASSPATH novamente.
Se continuar dando erro posta de novo.

[]'s

Criado 27 de agosto de 2003
Ultima resposta 27 de ago. de 2003
Respostas 5
Participantes 2