升级Ubuntu版本后Tomcat 8.5无法启动

时间:2018-04-30 14:02:25

标签: tomcat8.5

我刚刚将我的Ubuntu发行版从16.04升级到18.04。现在Tomcat 8.5曾经工作得很好,但启动不正常。我得到的错误是

30-Apr-2018 19:24:25.195 SEVERE [http-nio-8080-exec-1] org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
 java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer;                                                                                         │
    at org.apache.coyote.http11.Http11InputBuffer.recycle(Http11InputBuffer.java:280)                                                                               │
    at org.apache.coyote.http11.Http11Processor.recycle(Http11Processor.java:1709)                                                                                  │
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:972)                                                                      │
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:940)                                                                      │
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)                                                                          │
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)                                                                              │
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)                                                                              │
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)                                                                              │
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)                                                                           │
    at java.lang.Thread.run(Thread.java:748) 

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

事实证明这是Debian上游更新的问题。因此,基本上可以在Ubuntu 18.04存储库中使用的tomcat版本8.5.30-1是在Java 9上编译的。因此,如果您仍然像我一样在Java 8上运行您的应用程序,那么您将面临此问题。

参考:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895866