2012-11-04 47 views
0

我通過Folder - > properties - > build path - > Libraries - >添加外部jar,在我的eclipse動態webproject中添加了一個外部jar。當使用外部Jar時,Eclipse Juno EE NoClassDefFoundError

該代碼在編譯時工作正常。

package servlet; 
import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.MultipartConfig; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.tika.Tika; 

@WebServlet(name="UploadServlet", urlPatterns={"/uploadFile"})  // specify urlPattern for servlet 
@MultipartConfig      //Specify that this servlet will receive a multipart data 
public class UploadServlet extends HttpServlet { 

    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException{ 
     Tika tika = new Tika(); 

     res.setContentType("text/html"); 
     PrintWriter writer = res.getWriter(); 
     writer.write(mediaType); 
    } 
} 

我添加了Apache Tika但是當我運行我的應用程序。這些異常發生。

root cause 

java.lang.NoClassDefFoundError: org/apache/tika/Tika 
    servlet.UploadServlet.doPost(UploadServlet.java:19) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 


root cause 

java.lang.ClassNotFoundException: org.apache.tika.Tika 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    servlet.UploadServlet.doPost(UploadServlet.java:19) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

我使用Apache提卡確定已經上傳了什麼文件,我想如果一個文件是一個圖像或音頻文件

回答

0

你忘了那個罐子添加到部署使用它驗證大會頁面。它在運行應用程序時未部署到服務器,因此是NoClassDefFoundErrors。

相關問題