2015-10-27 77 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