Erro Java.lang.NoClassDefFoundError

Sei da existência de vários tópicos sobre este erro. Mas não encontrei a solução para o meu problema.

O caminho está correto, o path do sistema também. Estou usando a última versão do Java, a 1.6.0_17.
Não sei o porque de todos os programas que executo apresentam a mensagem Java.lang.NoClassDefFoundError, todos .java são compilados corretamente. Em qualquer diretorio no qual eu executo qualquer arquivo já compilado e que funcionavam perfeitamente também apresentam este erro.

Lá esta Java_Home, coloquei o caminho no path, todo como manda o figurino.

O Java está em java\sdk\jdk\jre, não consigo descobrir a causa.

Beleza, mas sem ver detalhes da exception não tem como dizer algo diferente de ‘Verifique o ClassPath’. Mas pode ser algo diferente: talvez versão, talvez conflito, talvez reflection ‘do mal’.

Em algumas situações pode acontecer um erro de deploy e faltar algum jar ou o mesmo não ser carregado direito. Hoje subi uma aplicação para 6 maquinas diferentes que utilizam weblogic (madrugada sinistra) e só uma delas apresento um erro bizarro desses. Reiniciando “na força” tudo voltou ao normal.

deathcon4, você está alguma biblioteca “externa” (driver JDBC por exemplo) e passou seu endereço? Manda o Exception que fica mais fácil descobrir o que aconteceu.
té+

O erro está abaixo:
C:\Paulo\Java>java Addition
Exception in thread “main” java.lang.NoClassDefFoundError: Addition
Caused by: java.lang.ClassNotFoundException: Addition
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Addition. Program will exit.

Esqueci, não usei BD nem outro recurso especial.
O novo java até tem um item para colocar o caminho no path.

Se tiver usando o netbeans, adiciona o jar pela ide (pasta biblioteca/add jar). o ant do nb se encarrega do “resto”
No eclipse use o build path/configure build path/add jar

Se nada mais der certo, jogue as bibliotecas dentro de java/jre/lib. é tosco mas normalmente funciona =)

att

Você está usando alguma IDE??

quando eu tinha configurado as minhas variaveis de ambiente erradas, dava o mesmo erro qdo eu tentava fazer pela linha de comando

edit:

quem que está na pasta java\sdk\jdk\jre??

geralmente na variavel path a gente coloca pra pasta bin

coloca suas variaveis de ambiente aqui

cara, mas a instalação do java hj em dia seta as variaveis de ambiente sozinho… existe essa opção na instalação… eu lembro bem… so nao lembro se por default ela vem marcada ou desmarcada…

O path (ao menos do java) está correto, pois o DOS não lançou um “Comando não encontrado”. Quais os passos que você seguiu?

Compilou o programa com ‘javac NomeDoArquivo.java’?
Depois executou-o com ‘java NomeDoArquivo’?

Compilei como javac nomeDoArquivo.java
Meu classpath está assim: C:\java\jdk\jre\bin;C:\java\jdk\jre\lib
Meu path: C:\java\jdk\jre\bin;C:\java\jdk\jre\lib;C:\java\jdk\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Uso o Eclipse: uso a ide 3.5 sem recursos adicionais.
Java_home:C:\java\jdk\jre\bin
Também coloquei Java_lib:c:\java\jdk\jre\lib
O caminho normal anterior do java era maior, como esse novo java, assim coloquei como acima.

A variavel path deveria estar apontando para a pasta bin dentro da pasta do jdk

e a classpath para a pasta src

Removi tudo, e peguei a versão jdk, por engano tinha pego a versão Entreprise, que pede para colocar senha e no final pergunta se quer iniciar o servidor. Mesmo assim, como disse, não era para ocorrer este erro. Com a versão jdk o problema foi resolvido. O compilador das versões não são o mesmo? A versão Enterprise também vem com o jre, igual ao jdk, não entendi nada.

instale o java dessa forma e pronto. Creio que vai resolver seu problema.

Foi o que fiz. Instalei desta forma. Resolvido.
Pode fechar o tópico