运行的操作系统是 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_packages
为此,请运行:
sudo archlinux-java set java-8-openjdk