我在eclipse JAVA EE中构建动态Web项目,我创建了一个servlet并用这段代码编写:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try {
String comment = request.getParameter("comment") ;
ANTLRInputStream input = new ANTLRInputStream(request.getParameter("comment"));
} catch(Exception exception) {
exception.printStackTrace();
}
}
当我在服务器上运行项目" apache-tomac-7"它从文本区域输入然后抛出赋形剂:
**java.lang.NoClassDefFoundError: org/antlr/v4/runtime/ANTLRInputStream
MyServlet.doPost(MyServlet.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)**
那我怎么能解决这个问题呢?
答案 0 :(得分:0)
通常会发生NoClassDefFoundErrors,因为您使用某些库编译项目,这些库在运行时期间找不到(或者因为tomcat使用了不同版本的库)。 您可能需要检查类路径并确保antlr列在运行时库中或复制到tomcat库中。
本网站也有类似的问题,您可以查看: How to solve java.lang.NoClassDefFoundError?
答案 1 :(得分:0)
好的,我的问题通过添加到我的WEB-INF解决(antlr-x.jar)和(annotation-api.jar) 谢谢大家