我们刚刚从地铁升级到最新的jax-ws代码,但出于某种原因,我们现在也必须运送ant。这似乎是jsp编译所需要的。
没有它我们得到
java.lang.NoClassDefFoundError: org/apache/tools/ant/BuildListener
at org.apache.jasper.compiler.Compiler.initJavaCompiler(Compiler.java:742)
at org.apache.jasper.compiler.Compiler.<init>(Compiler.java:131)
at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:288)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)
......
有没有办法删除对ant的依赖?
jax-ws如何影响未更改的jsp库?
由于 尼尔
答案 0 :(得分:0)
Jetty声明“编译器 - 在运行时确定。对于Jetty是eclipse jdt编译器。”见http://docs.codehaus.org/display/JETTY/Jsp+Configuration。
在构建期间,似乎没有打包core-3.1.1.jar(必须由jax-ws更改引起)。当缺少这个时,没有来自码头的警告,而是jasper回到尝试使用ant(然后导致类未找到异常)。
当我手动将core-3.1.1.jar包含到安装中时,jsp编译工作。