使用外部lib将项目部署到glassfish之后的NoClassDefFoundError

时间:2015-10-27 00:49:01

标签: java intellij-idea glassfish apache-jena

我在将Java libs正确添加到我的Java EE项目中时遇到了一些麻烦。我正在使用intellij idea IDE。

我想在我的项目中使用外部库(apache jena),并且我使用以下过程添加了该库: 项目结构>模块>依赖性>添加JAR或dirs>选择apache jena lib目录(里面有一些.jar文件,比如核心..)。

在项目中,一切似乎都没问题 - 导入,对象定义..但是在本地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 个答案:

答案 0 :(得分:1)

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

程序:项目结构&gt;人工制品&gt;并且有关于该工件中缺少库的通知,所以我点击了#34;修复(将该库添加到工件中)&#34; &GT;申请和完成:))

Intellij IDEA v14.1.5