javax.servlet.UnavailableException:EDU / oswego / cs / dl / util / concurrent / ConcurrentHashMap - 在Jetty 9.2.2上运行Struts 1.3.5

时间:2014-10-08 17:42:03

标签: java jetty struts struts-1 jetty-9

我正在从jetty 8.1.5迁移到9.2.2。我们的应用程序使用Spring,我们支持一些旧的struts控制器。

我们使用struts 1.3.5。当我启动服务器时,我不断收到以下异常。

这是否意味着,我还需要迁移struts?还有其他解决方案可以解决这个问题吗?

我试过java 7和8.同样的事情发生了。请建议。

javax.servlet.UnavailableException: EDU/oswego/cs/dl/util/concurrent/ConcurrentHashMap
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:399)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:600)
    at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:462)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:742)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:172)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
    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:1059)
    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:485)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:290)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:606)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:535)
    at java.lang.Thread.run(Thread.java:722)

1 个答案:

答案 0 :(得分:0)

你的战争WEB-INF/lib

可能缺少这门课程
EDU/oswego/cs/dl/util/concurrent/ConcurrentHashMap

这是Java 1.5中最终成为ConcurrentHashMap包的java.util.concurrent的原始实现

刚查过8.1.5.v20120716

[jetty-distribution-8.1.5.v20120716]$ find lib -name "*.jar" -exec jar -tvf {} \; |\
    grep -i edu.oswego

Jetty不附带这些类(也不会在WebAppClassloader中有例外,允许从服务器类加载器中使用它们)

您的配置中的其他内容必须为您添加它们。

查找backport-util-concurrent jars并将其添加到WEB-INF/lib目录。