A JVM não consegue encontrar minha classe - NoClassDefFoundError  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
leonardo.moreti
Entusiasta Java

Membro desde: 30/10/2009 08:22:49
Mensagens: 18
Localização: Sorocaba/SP
Offline

Olá pessoal, estou com um problema para executar uma classe java minha.

Este é o código dela:


O código-fonte dela está na pasta src. Compilo ela normalmente e jogo o executável na pasta classes.

Entro na pasta classes e digito:

$ java Walkthrough

Funciona normalmente.

Mas quando tento executá-la(de dentro da pasta classes mesmo) , passando 2 JARs na flag classpath:

$ java -cp ../substance.jar:../trident.jar -Dswing.defaultlaf=org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel Walkthrough

obtenho o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: Walkthrough
Caused by: java.lang.ClassNotFoundException: Walkthrough
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Walkthrough. Program will exit.


A JVM nao encontra a minha classe Walkthrough quando eu utilizo o classpath.

O que acontece? A classe Walkthrough está no diretório corrente, e se eu não usar o classpath ela encontra. Mas se eu usar, ela não encontra.
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

do man java


Ou seja, se vc não informa o classpath nem tem uma variavel de ambiente chamada CLASSPATH, admite-se o diretorio corrente (.) como classpath. Quando vc seta um classpath o default (.) some. Basta adicionar o mesmo no final com :. por exemplo.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
leonardo.moreti
Entusiasta Java

Membro desde: 30/10/2009 08:22:49
Mensagens: 18
Localização: Sorocaba/SP
Offline

Adicionei o diretório corrente no classpath:

$ java -cp ../substance.jar:../trident.jar:. -Dswing.defaultlaf=org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel Walkthrough

mas o erro ainda persiste:

/cygdrive/c/Documents and Settings/olivleo/Desktop/File Transfer Application II/classes

$ java -cp ../substance.jar:../trident.jar:. -Dswing.defaultlaf=org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel Walkthrough
Exception in thread "main" java.lang.NoClassDefFoundError: Walkthrough
Caused by: java.lang.ClassNotFoundException: Walkthrough
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Walkthrough. Program will exit.
leonardo.moreti
Entusiasta Java

Membro desde: 30/10/2009 08:22:49
Mensagens: 18
Localização: Sorocaba/SP
Offline

E ai pessoal, alguém tem mais alguma sugestão pra me ajudar?
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team