2015-10-27 84 views
2

我在将Java库添加到我的Java EE项目中时可能会遇到一些麻烦。我正在使用intellij的想法IDE。使用外部库将项目部署到glassfish后发生NoClassDefFoundError

我想在我的项目中使用外部库(apache jena),并且我已经使用此过程添加了该库: 项目结构>模块>依赖项>添加JAR或dirs>选择apache jena lib dir里面有一些.jar文件,就像core ..)。

在项目中,一切似乎都没问题 - 导入,对象定义..但是,在本地glassfish服务器上部署并访问索引页后,我得到了NoClassDefFoundError(完全是java.lang.NoClassDefFoundError:org/apache/jena/RDF /模型/ ModelFactory)。

package controller; 


import java.io.*; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.*; 
import org.apache.jena.rdf.model.*; 


@WebServlet(name = "TestController", urlPatterns = {"/"}) 
public class TestController extends HttpServlet { 

    /** 
    * Processes requests for both HTTP <code>GET and POST methods. 
    * @param request servlet request 
    * @param response servlet response 
    */ 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     /* ERROR >> */ 
     Model model = ModelFactory.createDefaultModel(); 
     /* << ERROR */ 

     request.setAttribute("test", "test"); 
     request.getRequestDispatcher("test.jsp").forward(request,response); 
    } 

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     processRequest(request, response); 
    } 

} 

那么,有谁能告诉我如何解决它吗?谢谢!

+1

你应该使用maven,那么你不会有这个问题 –

回答

1

问题解决: 我不得不将库添加到工件(战争爆炸)。

步骤:项目结构>实物>并有一个关于失踪的库在神器所以我点击的通知“修复(添加库到神器)”>申请并完成:)

IntelliJ IDEA的V14。 1.5