奇怪的问题我使用JDK10遇到了Tomcat 8.5。它可以正常启动,但是在发出关闭命令时,我会遇到以下注意事项:
注:拾取JDK_JAVA_OPTIONS:--add-opens = java.base / java.lang = ALL-UNNAMED --add-opens = java.base / java.io = ALL-UNNAMED --add-opens = java .rmi / sun.rmi.transport =全部未命名
java进程保持运行状态,因此提示我终止PID以停止它。
有人知道我需要解决的信息吗?
谢谢!
答案 0 :(得分:0)
根据this mailing list thread,消息指的是Tomcat在Java 9和更高版本上运行时设置的选项,以在Java发生更改时维护重要功能(防止内存泄漏/检测)。我认为这些更改与Java Platform Module System有关。
这是一个功能,而不是错误。
java进程仍在运行
在macOS Mojave上从AdoptOpenJDK运行Java 13.0.1时,我没有看到此行为。在使用Tomcat 9.0.27执行shutdown.sh
之后,我发现Activity Monitor.app中没有列出java
个进程。
我怀疑您的java
进程的继续是由于其他原因。例如,从经验上讲,executor service的线程池没有被关闭。
退出Tomcat 9时,确实收到与您发布的消息类似的消息:
注:拾取JDK_JAVA_OPTIONS:--add-opens = java.base / java.lang = ALL-UNNAMED --add-opens = java.base / java.io = ALL-UNNAMED --add-opens = java .rmi / sun.rmi.transport =全部未命名
答案 1 :(得分:0)
我有同样的问题。我通过命令行进入了tomcat日志:
$ sudo tail -f / opt / tomcat / log / catalina.out
重新启动服务时,请查看最新消息。
一种解决方案是在行上评论:
Environment = 'CATALINA_OPTS = -Xms512M -Xmx1024M -server -XX: + UseParallelGC'
tomcat.service
守护程序并重新启动服务。该行控制分配的内存并阻止服务的上升。这对我来说是有效的,我将只使用Tomcat进行本地测试和学习,而不是将其用作真正的servlet服务器,这对我来说并不重要,但是我认为这对于实际生产的Tomcat而言并不是理想的解决方案。
使用与catalina.out
相同的命令来检查Apache2错误日志也可能会有所帮助。
我希望它对其他人有用。