1

我刚刚将我的 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) 

有谁知道为什么会这样?

4

2 回答 2

1

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

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

于 2018-05-02T11:20:54.647 回答
0

Ubuntu 18.04 中的 Tomcat8 与 JDK10 一起正常工作,JDK10 在升级 Ubuntu 后设置为默认值。

于 2018-05-10T15:07:32.240 回答