maven版本造成java.lang.NoClassDefFoundError: javax/el/ExpressionFactory的問題
某web專案在maven3.5.4下載入頁面時出現
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:358) at org.eclipse.jetty.jsp.JettyJspServlet.service (JettyJspServlet.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:101) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:595) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:191) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:72) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel (InternalResourceView.java:168) at org.springframework.web.servlet.view.AbstractView.render (AbstractView.java:303) at org.springframework.web.servlet.DispatcherServlet.render (DispatcherServlet.java:1282) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult (DispatcherServlet.java:1037) at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:980) at org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service (HttpServlet.java:687) at org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle (HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle (Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run (AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555) at java.lang.Thread.run (Thread.java:748) Caused by: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at org.apache.jasper.compiler.PageInfo.<init> (PageInfo.java:79) at org.apache.jasper.compiler.Compiler.generateJava (Compiler.java:112) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:356) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:336) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:323) at org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:405) at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:349) at org.eclipse.jetty.jsp.JettyJspServlet.service (JettyJspServlet.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:101) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:595) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:191) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:72) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel (InternalResourceView.java:168) at org.springframework.web.servlet.view.AbstractView.render (AbstractView.java:303) at org.springframework.web.servlet.DispatcherServlet.render (DispatcherServlet.java:1282) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult (DispatcherServlet.java:1037) at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:980) at org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service (HttpServlet.java:687) at org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle (HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle (Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run (AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555) at java.lang.Thread.run (Thread.java:748) Caused by: java.lang.ClassNotFoundException: javax.el.ExpressionFactory at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239) at org.apache.jasper.compiler.PageInfo.<init> (PageInfo.java:79) at org.apache.jasper.compiler.Compiler.generateJava (Compiler.java:112) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:356) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:336) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:323) at org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:405) at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:349) at org.eclipse.jetty.jsp.JettyJspServlet.service (JettyJspServlet.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:101) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:595) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:191) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:72) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel (InternalResourceView.java:168) at org.springframework.web.servlet.view.AbstractView.render (AbstractView.java:303) at org.springframework.web.servlet.DispatcherServlet.render (DispatcherServlet.java:1282) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult (DispatcherServlet.java:1037) at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:980) at org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service (HttpServlet.java:687) at org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1669) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle (HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle (Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run (AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555) at java.lang.Thread.run (Thread.java:748) [WARNING] EXCEPTION javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:358) at org.eclipse.jetty.jsp.JettyJspServlet.service (JettyJspServlet.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:587) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:595) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward (Dispatcher.java:191) at org.eclipse.jetty.server.Dispatcher.error (Dispatcher.java:77) at org.eclipse.jetty.server.handler.ErrorHandler.handle (ErrorHandler.java:91) at org.eclipse.jetty.server.Response.sendError (Response.java:597) at org.eclipse.jetty.server.Response.sendError (Response.java:544) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:647) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle (HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle (Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run (AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555) at java.lang.Thread.run (Thread.java:748) Caused by: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory at org.apache.jasper.compiler.PageInfo.<init> (PageInfo.java:79) at org.apache.jasper.compiler.Compiler.generateJava (Compiler.java:112) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:356) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:336) at org.apache.jasper.compiler.Compiler.compile (Compiler.java:323) at org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:405) at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:349) at org.eclipse.jetty.jsp.JettyJspServlet.service (JettyJspServlet.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:587) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:595) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061)
用盡網上說的各種方法仍不得解決,忽然想起該專案改動了maven外掛版本,將其降為3.3.9得以解決!