pessoal,
tenho dois sistemas que precisam enviar emails para os usuarios.
ambos estao na mesma maquina.

(quem puder , me ajude! obrigado!)

primeiramente fiz uma classe de email especifica para o sistema x1.
tudo funciona perfeitamente ateh que um belo dia eu resolvo colocar outro
sistema ( vamos chamar de x2) na mesma maquina.

e este sistema tambem vai utilizar uma classe de email. estah classe eh uma
copia alterada da classe de x1.

eu nao estou entendendo bem o que esta acontecendo, mas quando uma classe eh
iniciada antes da outra, uma invalida a outra... acho que isto acontece
porque ficam na memoria do computador algumas propriedades de contexto.

java.lang.NoClassDefFoundError: inventario/Inventario


abaixo envio o codigo das duas classes.
qualquer semelhanca eh puro copy and paste ;)


cada codigo esta num pacote diferente...

CODIGO 1
========================================================

package mare;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class Email
{

 boolean pronto = false;  //se as configuracoes do email estiverem
carregadas , true

 java.util.Date d;
 java.text.SimpleDateFormat fmt;
 String dataAtual;

 static String msgText;
 String to,from,host;

 String nomeEmail;

 Properties props = new Properties();
 javax.mail.Session mailsession;


 public void configEmail(String nome,String email,String orgao,String
senha_plain)
 {

 // data para inclusao no email !!
 d = new java.util.Date();
 fmt = new java.text.SimpleDateFormat("dd/MM/yyyy");
 dataAtual = new String(fmt.format(d));

 // mensagem para o corpo da mensagem
 msgText =
 "Confirmação de aprovação de cadastro para acesso ao sistema ARGO"+
 "\n\nPrezado usuario:"+ nome + "\\"+orgao+
 "\nVocê pode acessar o sistema ARGO para preencher os dados"+
 "\nda sua rede a partir do dia 18/12/2000."+

 "\n\nA primeira fase do preenchimento visa coletar os dados dos nodos e
links da rede"+
 "\nnas capitais e cidades com mais de 300 mil habitantes. A data de Término
dessa fase é"+
 "\n10/01/2001"+

 "\n\nNa segunda fase, que vai de 10/01/2001 até 31/01/2001, deverão ser
fornecidos os dados"+
 "\ndas demais localidades e links da rede."+

 "\n\nApós 31/01/2000, não será possível alterar os dados cadastrados."+

 "\n\nPara orientar o trabalho, sugere-se que o usuário comece imprimindo as
páginas do levantamento"+
 "\npara ter uma idéia precisa das informações a serem fornecidas."+

 "\n\nSugere-se que o usuário cadastre primeiro os nodos da rede, começando
por Brasília"+
 "\ne seguindo com as capitais e cidades de 300 mil habitantes. Em seguida,
o usuário deve"+
 "\ncadastrar os dados dos links entre tais cidades."+

  "\n\n Para usar o sistema você deverá se autenticar com os seguintes
parâmetros: "+
  "\n Login de acesso: "+email+ " (O login name é o seu email)"+
  "\n Senha: "+senha_plain+ " (Altere sua senha para aumentar a segurança
dos seus dados)"+
  "\n Sistema ARGO : http://www.redegoverno.gov.br/levantamento/argo"+
 "\n\n Caso tenha alguma dúvida, acesse as páginas de ajuda ou envie-nos um
email para "+
 " [EMAIL PROTECTED] ";


 nomeEmail = new String(nome);
 to = new String(email);// email da pessoa  xxx


 from = new String("[EMAIL PROTECTED]");// quem esta enviando o email
 host = new String("164.41.67.135");//host de smtp
// 164.41.67.20


 // configuracao das propriedades e obtencao de sessao default de email
 props.put("mail.smtp.host", host);
 props.put("mail.smtp.localhost", "localhost");



 // nao confunda esta session com a session do jsp.
 // se tiver que usar as duas sessions temos que declara-las por completo
 mailsession = javax.mail.Session.getDefaultInstance(props, null);

  pronto=true;

 }


 public boolean mandarEmail()
 {
  if(pronto)
  {

   try
   {
       // criando mensagem
       Message msg = new MimeMessage(mailsession);
       msg.setFrom(new InternetAddress(from));
       InternetAddress[] address = {new InternetAddress(to)};
       //InternetAddress[] addressBCC = {new
InternetAddress("[EMAIL PROTECTED]","ArgoMaster")};//xxx
       msg.setRecipients(Message.RecipientType.TO, address);
      //msg.setRecipients(Message.RecipientType.BCC, addressBCC);//xxx
       msg.setSubject("ARGO  -  Usuario "+nomeEmail+" cadastrado
"+dataAtual);
       msg.setSentDate(new Date());
       msg.setText(msgText);

       Transport.send(msg); // enviando mensagem
    return true;

   }
   catch (MessagingException mex)
   {
       System.out.println("\n--Exceção : "+mex);
   }
  }
  return false;
 }

}
========================================================



CODIGO 2
========================================================
package inventario;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class Inventario
{

 boolean pronto = false;  //se as configuracoes do email estiverem
carregadas , true

 java.util.Date d;
 java.text.SimpleDateFormat fmt;
 String dataAtual;

 static String msgText;
 String to,from,host;

 String nomeEmail;

 Properties props = new Properties();
 javax.mail.Session mailsession;


 public void configEmail(String nome,String email,String orgao,String
senha_plain)
 {

 // data para inclusao no email !!
 d = new java.util.Date();
 fmt = new java.text.SimpleDateFormat("dd/MM/yyyy");
 dataAtual = new String(fmt.format(d));

 // mensagem para o corpo da mensagem
 msgText =
 "Confirmação de aprovação de cadastro para acesso ao Sistema"+
 "\n\nPrezado usuario:"+ nome + "\\"+orgao+

  "\n\n Para usar o sistema você deverá se autenticar com os seguintes
parâmetros: "+
  "\n Login de acesso: "+email+ " (O login name é o seu email)"+
  "\n Senha: "+senha_plain+ " (Altere sua senha para aumentar a segurança
dos seus dados)";


 nomeEmail = new String(nome);
 to = new String(email);// email da pessoa  xxx


 from = new String("[EMAIL PROTECTED]");// quem esta enviando o email
 host = new String("164.41.67.135");//



 // configuracao das propriedades e obtencao de sessao default de email
 props.put("mail.smtp.host", host);
 props.put("mail.smtp.localhost", "localhost");



 // nao confunda esta session com a session do jsp.
 // se tiver que usar as duas sessions temos que declara-las por completo
 mailsession = javax.mail.Session.getDefaultInstance(props, null);

  pronto=true;

 }


 public boolean mandarEmail()
 {
  if(pronto)
  {

   try
   {
       // criando mensagem
       Message msg = new MimeMessage(mailsession);
       msg.setFrom(new InternetAddress(from));
       InternetAddress[] address = {new InternetAddress(to)};

       msg.setRecipients(Message.RecipientType.TO, address);
       msg.setSubject("INVENTARIO -  Usuario "+nomeEmail+" cadastrado
"+dataAtual);
       msg.setSentDate(new Date());
       msg.setText(msgText);

       Transport.send(msg); // enviando mensagem
    return true;

   }
   catch (MessagingException mex)
   {
       System.out.println("\n--Exceção : "+mex);
   }
  }
  return false;
 }

}
========================================================



------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a