Erro "java.lang.NoClassDefFoundError" quando uso Classes de bibliotecas .jar

0 respostas
L

Meu Servlet:

package boleto;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jboleto.JBoleto;
import org.jboleto.JBoletoBean;

import db.ModelMain;

public class GeraBoleto extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

    ModelMain con = new ModelMain();

    public GeraBoleto()
    {
        super();
        con.openConnection();
    }
    
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    	analizaBoleto(req, resp);
    }

    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    	analizaBoleto(req, resp);
    }
    protected void analizaBoleto(HttpServletRequest req, HttpServletResponse resp) {
        try {
        	montaBoleto(req,resp);
        }catch (SQLException e) {
            e.printStackTrace();
        }
    }    

    public void montaBoleto(HttpServletRequest req, HttpServletResponse resp) throws SQLException{
		
		JBoletoBean jBoletoBean = new JBoletoBean();
		
		jBoletoBean.setDataDocumento("31/05/2007");
	    jBoletoBean.setDataProcessamento("31/05/2007");      
	        
	    jBoletoBean.setCedente("KOBI SYSTEM LTDA ME");  
	
	    jBoletoBean.setNomeSacado("Teste");
	    jBoletoBean.setEnderecoSacado("Rua teste");        
	    jBoletoBean.setBairroSacado("XXXX");
	    jBoletoBean.setCidadeSacado("Rio de Janeiro");
	    jBoletoBean.setUfSacado("RJ");
	    jBoletoBean.setCepSacado("22753-501");
	    jBoletoBean.setCpfSacado("[telefone removido]");
	    jBoletoBean.setCarteira("57");
	    jBoletoBean.setLocalPagamento("ATE O VENCIMENTO, PREFERENCIALMENTE NA CAIXA ECONOMICA");
	    jBoletoBean.setLocalPagamento2("APOS O VENCIMENTO, SOMENTE NA CAIXA ECONOMICA");
	    
	    Vector descricoes = new Vector();
	    descricoes.add("Hospedagem I - teste descricao1 - R$ 39,90");
	    descricoes.add("Manutencao - teste ricao2 - R$ 32,90");
	    descricoes.add("Sistema - teste ssssde descricao3 - R$ 45,90");
	    descricoes.add("Extra - teste de descricao4 - R$ 78,90");
	    jBoletoBean.setDescricoes(descricoes);
	    
	    jBoletoBean.setInstrucao1("APOS O VENCIMENTO COBRAR MULTA DE 2%");
	    jBoletoBean.setInstrucao2("APOS O VENCIMENTO COBRAR R$ 0,50 POR DIA DE ATRASO");
	    jBoletoBean.setInstrucao3("Inclusao de mais uma linha");
	    jBoletoBean.setInstrucao4("");
	
	    jBoletoBean.setAgencia("0155");
	    jBoletoBean.setContaCorrente("13877");
	    jBoletoBean.setDvContaCorrente("4");
	    
	    jBoletoBean.setCarteira("82"); //pode ser 80 ou 81 ou 82 (Confirmar com gerente)
	    jBoletoBean.setCodigoOperacao("870");
	    jBoletoBean.setCodigoFornecidoAgencia("00000324");
	    jBoletoBean.setDvCodigoFornecidoAgencia("1");
	    
	    jBoletoBean.setNossoNumero("19525086",8);
	    jBoletoBean.setNoDocumento("987656123");
	    
	    jBoletoBean.setValorBoleto("1.00");                
	    jBoletoBean.setDataVencimento("02/10/2007");
	    
	    JBoleto jBoleto = new JBoleto();        
	    jBoleto.addBoleto(jBoletoBean,JBoleto.CAIXA_ECONOMICA);
	    
	    String pasta = getServletContext().getRealPath("/relatorios/")+ "/";
	    String arqBoleto = "caixa.pdf";
	    
	    jBoleto.writeToFile(pasta+arqBoleto);
	    
	    
	    File arquivo = new File(pasta+arqBoleto);
	    try {
	    	download( arquivo.getName(), read( arquivo ), resp );
	    } catch (IOException e) {
	        e.printStackTrace();
	    }  
	}   

	//le o arquivo e retorno no formato byte 
	public static byte[] read( File file ) throws IOException {
    
        byte[] content = null;
        int fileLength = (int) file.length();
        FileInputStream fileInput = null;

        try {
            fileInput = new FileInputStream(file);

            BufferedInputStream bufferedInput = new BufferedInputStream(
                                                        fileInput);
            content = new byte[fileLength];
            bufferedInput.read(content, 0, fileLength);
            bufferedInput.close();
        } finally {
            if (fileInput != null) {
                fileInput.close();
            }
        }

        return content;
    }
	
	//metodo que invoca o download do arquivo
	public static void download( String filename, byte[] content,
            HttpServletResponse response ) throws IOException {
        
        response.addHeader( "Content-Disposition",
                    "attachment; filename=" + filename );
        response.setContentType( "application/download" );
        
        ServletOutputStream outStream = response.getOutputStream();
        
        // envia o conteúdo do arquivo para o stream de resposta
        try {
            outStream.write( content );
            outStream.flush();
        } finally {
            outStream.close();      
        }
    }
  
    
    
}

Erro:
java.lang.NoClassDefFoundError: org/jboleto/JBoletoBean
at boleto.GeraBoleto.montaBoleto(GeraBoleto.java:54)

quando uso alguma classe contida numn .jar, que está importado corretamente ao buildpath, sempre da esse erro…

alguem pode ajudar?

Criado 30 de maio de 2008
Respostas 0
Participantes 1