Как решить NoClassDefFoundError в сервлете Java?

1

Я пытаюсь прочитать файл совы из сервлета Java. Но я получаю вышеуказанную ошибку. Я думал, что файл jar отсутствует, и попытался добавить файл jar снова в WEB-INF/lib. Но все равно я получаю ту же ошибку. Пожалуйста, помогите мне решить эту ошибку. Вот код сервлета:

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;

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

    import com.hp.hpl.jena.ontology.OntModel;
    import com.hp.hpl.jena.rdf.model.Model;
    import com.hp.hpl.jena.rdf.model.ModelFactory;

    /**
    * Servlet implementation class testServlet
    */
    @WebServlet("/testServlet")
    public class testServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

    /**
    * @see HttpServlet#HttpServlet()
    */
    public testServlet() {
     super();
     // TODO Auto-generated constructor stub
   }

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {
    // TODO Auto-generated method stub
}

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub


    FileInputStream fis = new FileInputStream("D:/MTech/semantic validation/code/travel.owl");  String file = request.getParameter("file");
    file=file.replace("\\", "/") ;
    System.out.println(file);




    OntModel model =  ModelFactory.createOntologyModel();
    model.read(fis, null);
    String output = "<p>loading file done</p>";
    PrintWriter out = response.getWriter();
    out.println (output);
     }

    }

и вот ошибка, которую я получаю

    java.lang.NoClassDefFoundError: com/hp/hpl/jena/rdf/model/ModelFactory
kanive.testServlet.doPost(testServlet.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause 

java.lang.ClassNotFoundException: com.hp.hpl.jena.rdf.model.ModelFactory
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
kanive.testServlet.doPost(testServlet.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
  • 0
    посмотреть этот stackoverflow.com/questions/17973970/…
  • 0
    Вам необходимо повторно развернуть, чтобы контейнер сервлета принял изменения.
Показать ещё 2 комментария
Теги:
servlets
jena

1 ответ

0

Самое простое решение - перекомпилировать код и повторно развернуть (предполагая, что JAR явно находится в папке WEB-INF/lib).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню