Ajuda com NoClassDefFoundError

4 respostas
wilsontads

Pessoal, to tentando implementar um exemplo simples de Upload que encontrei em um livro, é que preciso fazer meu primeiro projeto web, e tenho tido muita dificuldades e quase não encontro alguém que possa estar me ajudando, porém não ta rodando de geito nenhum o exemplo...
tenho tido problema com esse NoClassDefFoundError, segue abaixo os dois códigos, se alguém poder me ajudar, desde já agradeço..
Detalhe: ja adicionei as bibliotecas do commons-fileupload e do commons-io :cry:

package meupacote;

import java.io.File;
import java.util.*;

import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.ServletContext;
import javax.servlet.http.*;

public class UploadBean {
	private DiskFileItemFactory fileUpload = new DiskFileItemFactory();
	private ServletFileUpload sfu = new ServletFileUpload(fileUpload);
	private String diretorio;
	private String filename;
	
	public void setDiretorio(String diretorio){
		this.diretorio= diretorio;		
	}

	public String getDiretorio() {
		return diretorio;
	}

	public String getFilename() {
		return filename;
	}
	
	public boolean doFilePost(HttpServletRequest request, ServletContext context){
		
		if(request.getContentType() == null)
			return false;
		if(!request.getContentType().startsWith("multipart/form-data"))
			return false;
		String path = context.getRealPath(getDiretorio());
		try{
			List list = sfu.parseRequest(request);
			Iterator iterator = list.iterator();
			while(iterator.hasNext()){
				FileItem item = (FileItem)iterator.next();
				if(!item.isFormField()){
					filename = item.getName();
					if((filename != null)&& (!filename.equals(""))){
						filename = (new File(filename).getName());
						item.write(new File(path + "/" + filename));
					}					
				}
			}
		}catch (FileUploadException e) {
			e.printStackTrace();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		return true;			
		}
		
	}

A página JSP ...

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="htttp://www.w3.ogr/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Fazendo Upload de Arquivos</title>
</head>
<body>
<jsp:useBean id="up1" scope="page" class="meupacote.UploadBean"></jsp:useBean>
<jsp:setProperty property="diretorio"  value="arquivos" name="up1"/>
<%
if(up1.doFilePost(request, application)){
	out.print(up1.getFilename());	
}
%>
<form method="post" action="fazendoUploadComJsp.jsp"
enctype="multipart/form-data">
Arquivo: &lt;input type="file" name="file" /&gt; <br/>
&lt;input type= "submit" name="submit" values="Enviar" /&gt; 

&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;

4 Respostas

BrunoBastosPJ

Muitas bibliotecas precisam de outras e se você não adicioná-las tera este erro…

Muitas vezes mesmo que seu código compile você terá este erro em execução… Cole seu stackTrace que pelo pacote fica fácil descobrir qual jar você precisa!

wilsontads
BrunoBastosPJ:
Muitas bibliotecas precisam de outras e se você não adicioná-las tera este erro....

Muitas vezes mesmo que seu código compile você terá este erro em execução... Cole seu stackTrace que pelo pacote fica fácil descobrir qual jar você precisa!

Segue...

exception

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	java.lang.Class.getConstructor0(Unknown Source)
	java.lang.Class.getConstructor(Unknown Source)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1261)
	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	java.lang.ClassLoader.loadClassInternal(Unknown Source)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	java.lang.Class.getConstructor0(Unknown Source)
	java.lang.Class.getConstructor(Unknown Source)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1261)
	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
neeryck

Coloque isso na sua lib e dê um feedback :smiley:

[]'s

wilsontads
neeryck:
Coloque isso na sua lib e dê um feedback :D

[]'s

O mesmo erro me é retornado =\

exception

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	java.lang.Class.getConstructor0(Unknown Source)
	java.lang.Class.getConstructor(Unknown Source)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1261)
	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	java.lang.ClassLoader.loadClassInternal(Unknown Source)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	java.lang.Class.getConstructor0(Unknown Source)
	java.lang.Class.getConstructor(Unknown Source)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1261)
	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Criado 23 de junho de 2010
Ultima resposta 24 de jun. de 2010
Respostas 4
Participantes 3