Pacotes e ClassNotFoundException

4 respostas
cassio

Olá pessoal!

Eu escrevi uma aplicação que está em uma estrutura de diretórios por pacotes. No Eclipse roda certinho, porém quando tento rodar pelo shell dá o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: GuiEnvioDeEmail (wrong name: br/com/envioemaildoadores/SHH/GuiEnvioDeEmail)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

Como devo chamar minha classe principal!??

Obrigado!

4 Respostas

ramilani12

Roda assim:

java br.com.envioemaildoadores.SHH.GuiEnvioDeEmail
cassio

Tentei isso, mas quando ele roda o main, ele faz referência a outras classes, que estão no mesmo pacote, e ai dá ClassNotFound de novo…

alguma idéia?

Obrigado!

R

No shell, quando você vai executar a aplicação, você deve estar no diretório do pacote, por exemplo:

Se a sua aplicação tem a seguinte estrutura:
br
  | – com
     |-- main
     |-- model

O diretório corrente do sheel deve ser a pasta onde se localiza a pasta br, e execute a aplicação da maneira que disse o ramilani.

Ficou meio confuso, mas acho que deu para entender.
Espero ter ajudado.

cassio

Funcionou perfeitamente, muito obrigado!

Criado 17 de outubro de 2006
Ultima resposta 17 de out. de 2006
Respostas 4
Participantes 3