NoClassDefFoundError

ta dando o seguinte erro:

Exception in thread “main” java.lang.NoClassDefFoundError: mail/jar
Caused by: java.lang.ClassNotFoundException: mail.jar
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: mail.jar. Program will exit.

parece que ele nao achou o main, mas eu tenho no manifest o main class e tenho certeza que esta certo…

Manifest-Version: 1.0
Main-Class: principal.Principal

alguem pode me ajudar?

Vc pode ter certeza, mas o compilador não…

dá uma olhada melhor, pois esta excessão ocorre qndo alguma classe não é encontrada.

verifque também se nenhuma outra classe dependente está faltando.

Você está usando qual IDE? Cola teu código aí.

To usando o eclipse, nele roda certinho, o problema eh depois q gero o jar e tento executar via linha d comando :confused:

o código eh ridiculo, só tem o main e 1 funcao chamada por ele… To usando a lib javamail 1.4.2

obrigado por enquanto

[quote=aloha]To usando o eclipse, nele roda certinho, o problema eh depois q gero o jar e tento executar via linha d comando :confused:

o código eh ridiculo, só tem o main e 1 funcao chamada por ele… To usando a lib javamail 1.4.2

obrigado por enquanto[/quote]

Vc já verificou se dentro do *.jar tem todas as libs necessárias?

Sim, todas as libs estao la…

Po eu sou programador C e por essas e outras que não consigo entrar no mundo java. Eu digito 2+2 e ele não me da o 4…

Parece estar tudo certo, mas sabemos que não está, o erro que ele informa: "Could not find the main class: mail.jar. Program will exit. "

Como ele não conseguiu? Ele é doente!

Alguém sabe como faz para ver como o eclipse executa? Pois pelo eclipse funciona!

Obrigado novamente :slight_smile:

Posta aqui o código das suas classes que fica mais fácil de ajudar…

(veja tbm se na sua classe principal, vc tem o método main)

como eu disse, o codigo eh ridiculo

public class Principal 
{
	public static void main(String[] args) 
	{
		String emailDest 	= args[0];
		String nomeDest 	= args[1];
		String emailRemet 	= args[2];
		String nomeRemet 	= args[3];
		String assunto 		= args[4];
		String corpo 		= args[5];
		String anexo		= args[6];
		String usuario		= args[7];
		String senha		= args[8];
		
		try {
			enviarEmail(emailDest,nomeDest,emailRemet,nomeRemet,assunto,corpo,anexo,usuario,senha);
		} catch (Exception e) {
			System.out.println("erro");
		}
	}
}

Está faltando os jars para o envio de e-mail (mail.jar e activation.jar): http://java.sun.com/products/javamail/

Quais são os jar’s necessários para fazer o IReport funcionar de maneira correta com o net beans???
Ondep osso baixá-los?

Não pode Rafael, eles estão no projeto e quando eu gero meu jar eu seleciono todos os jars de envio de email…

obrigado

Uma coisa é certa: o compilador não está encontrando alguma classe.

Já tentou atualizar as libs do javaMail?

[quote=aloha]Não pode Rafael, eles estão no projeto e quando eu gero meu jar eu seleciono todos os jars de envio de email…
obrigado[/quote]

Ola aloha…
Bem o problema está ai, se você não utiliza um plugin que entende que você tem dependências de outros “jares” (sic) ele não coloca dentro do jar que você gerou.
Faz assim, faz um teste com a sua aplicação em outro PC colocando os seus “jares” (sic) no classpath do outro PC. Você vai ver que vai funcionar.

:wink:

[]'s
JL

Bem, a exceção é clara:

Exception in thread "main" java.lang.NoClassDefFoundError: mail/jar 

Verifique se os jars do javamail estão devidamente escritos no arquivo MANIFEST.

O problema é que não tenho outro computador :confused:

Alguem me ajuda a solucionar com 1 computador só por favor?

Obrigado

Qual é a linha de comando que você está usando? Dá a impressão que ele quer procurar uma classe chamada mail.jar.

Provavelmente você quer rodar seu programa com algo parecido com:

java -jar mail.jar

Se você rodar o programa com

java mail.jar

você vai pedir ao Java que tente executar o método main de uma classe chamada mail.jar, que obviamente não é o que você quer.

[quote=andre_bento]Quais são os jar’s necessários para fazer o IReport funcionar de maneira correta com o net beans???
Ondep osso baixá-los?[/quote]

Veja: http://pablonobrega.wordpress.com/2009/02/11/tutorial-tecnicas-de-geracao-de-relatorios-com-jasperreports/

Disponibiliza o JAR ae, ai fica mais fácil

Não sei verificar se os jars do javamail estão devidamente escritos no arquivo MANIFEST…

Tipow, eu baxei a api javamail 1.4.2
criei um projeto console mesmo
criei a classe principal e escrevi a funcao enviarEmail
chamei a funcao do main
coloquei o jar do javamail 1.4.2 no projeto, o nome do jar eh “mail.jar”
sem ele o codigo fica todo cheio de warning, com ele fica tudo 100%
quando rodo pelo eclipse, tudo funciona perfeitamente…

A pergunta agora é:
como eu gero um jar para poder executar via console com o comando “java nome_do_meu_jar parametros”

Obrigado

[quote=thingol]Qual é a linha de comando que você está usando? Dá a impressão que ele quer procurar uma classe chamada mail.jar.

Provavelmente você quer rodar seu programa com algo parecido com:

java -jar mail.jar

Se você rodar o programa com

java mail.jar

você vai pedir ao Java que tente executar o método main de uma classe chamada mail.jar, que obviamente não é o que você quer.
[/quote]

Deu certo, mas era o contrário do que vc disse thingol

eu estava tentando com java nome_do_programa

o certo seria java -jar nome_do_programa

Alguem pode me explicar prq isso?

Obrigado a todos!!! Muito Obrigado mesmo! :slight_smile: