【问题标题】:NoClassDefFoundError after deploying project to glassfish using external lib使用外部库将项目部署到 glassfish 后出现 NoClassDefFoundError
【发布时间】:2015-10-27 00:49:00
【问题描述】:

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

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

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

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);
    }

}

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

【问题讨论】:

  • 你应该使用maven,那么你就不会有这个特殊问题

标签: java intellij-idea glassfish apache-jena


【解决方案1】:

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

过程:项目结构 > 工件 > 并且有关于该工件中缺少库的通知,所以我单击“修复(将该库添加到工件中)”> 应用并完成 :)

Intellij IDEA v14.1.5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    相关资源
    最近更新 更多