Web applications Jetty中的Servlet过滤器

Web applications Jetty中的Servlet过滤器,web-applications,jetty,servlet-filters,embedded-jetty,Web Applications,Jetty,Servlet Filters,Embedded Jetty,我在web应用程序的web.xml中添加了一个Servlet过滤器。它应该只是拦截一些呼叫并重定向它们。启动Jetty服务器时,我可以看到我的过滤器正在初始化,因为调用了函数public void init(final FilterConfig config)。 但是,当从浏览器发送请求时,我会遇到以下异常 PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required 我正在使用配置了J

我在web应用程序的web.xml中添加了一个Servlet过滤器。它应该只是拦截一些呼叫并重定向它们。启动Jetty服务器时,我可以看到我的过滤器正在初始化,因为调用了函数
public void init(final FilterConfig config)
。 但是,当从浏览器发送请求时,我会遇到以下异常

PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required
我正在使用配置了Jdk 7和Jetty 8.12的eclipse。有没有迹象表明我能做些什么来摆脱这一切?下面是stacktrace

Caused by:

org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:92)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:378)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:119)
    at org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:208)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:384)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
    at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:280)
    at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:660)
    at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:91)
    at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:719)
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1502)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2297)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2347)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2353)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:499)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2297)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2347)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2371)
    at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:648)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2297)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2347)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2353)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:499)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2297)
    at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:737)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:235)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:594)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:542)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:557)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:594)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Unknown Source)

换句话说。。。删除servlet过滤器时,是否不会发生此异常?对不起,我真不敢相信。这个异常的抛出远远超出了servlet过滤器的调用范围。如果不使用servlet过滤器而直接请求deisred JSP,您也会遇到完全相同的问题。请相应地重新表述该问题。请参考此链接,它可能会帮助您在将JRE更改为JDK后重试。右键单击
项目->Java构建路径->库->JRE系统库
。单击
addlibrary
并选择
JRE系统库
并添加JDK的位置。删除上一个并选择JDK以使其成为默认值。