在 arch linux 中启动 tomcat7.service 时出错

在 arch linux 中启动 tomcat7.service 时出错

运行的操作系统是 Arch Linux x86-64。我尝试tomcat7.service通过启动systemctl start tomcat7.service,但它抛出一条错误消息:

Job for tomcat7.service failed because the control process exited with error code.
See "systemctl status tomcat7.service" and "journalctl -xe" for details.

当我执行时systemctl status tomcat7.service,它显示以下消息:

● tomcat7.service - Tomcat 7 servlet container
   Loaded: loaded (/usr/lib/systemd/system/tomcat7.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2018-04-02 04:28:40 CEST; 2min 40s ago
  Process: 2979 ExecStop=/usr/bin/jsvc -pidfile /var/run/tomcat7.pid -stop org.apache.catalina.startup.Bootstrap (code=exited, status=255)
   Process: 2972 ExecStart=/usr/bin/jsvc -Dcatalina.home=${CATALINA_HOME} -Dcatalina.base=${CATALINA_BASE} -Djava.io.tmpdir=/var/tmp/tomcat7/temp -cp /usr/share/java/commons-daemon.jar:/usr/share/java/eclipse-ecj.>
 Main PID: 2977

abr 02 04:28:40 carlos-pc systemd[1]: Starting Tomcat 7 servlet container...
abr 02 04:28:40 carlos-pc jsvc[2972]: Cannot find any VM in Java Home /usr/lib/jvm/default-runtime
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Can't open PID file /var/run/tomcat7.pid (yet?) after start: No such file or directory
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Supervising process 2977 which is not our child. We'll most likely not notice when it exits.
abr 02 04:28:40 carlos-pc jsvc.exec[2976]: 2018-04-02 04:28:40 2977 jsvc.exec error: Cannot find any VM in Java Home /usr/lib/jvm/default-runtime
                                       2018-04-02 04:28:40 2977 jsvc.exec error: Cannot locate JVM library file
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Control process exited, code=exited status=255
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Killing process 2977 (n/a) with signal SIGKILL.
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Killing process 2977 (n/a) with signal SIGKILL.
abr 02 04:28:40 carlos-pc systemd[1]: tomcat7.service: Failed with result 'exit-code'.
abr 02 04:28:40 carlos-pc systemd[1]: Failed to start Tomcat 7 servlet container.

如果我ls /usr/lib/jvm/default-runtime检查我是否有 Java 环境,它会显示:

bin  conf  demo  include  jmods  legal  lib  man  release

所以,目录存在。

可能会发生什么?谢谢

答案1

您需要将 java-8 或更早版本设置为默认 java 版本才能在 archlinux 上使用 tomcat。按照 arch wiki 指南安装正确的版本。https://wiki.archlinux.org/index.php/Java#Officially_supported_pa​​ckages

为此,请运行:

sudo archlinux-java set java-8-openjdk

相关内容