2

The os is running is Arch Linux x86-64. I'm trying to start tomcat7.service via systemctl start tomcat7.service, but it throws a error message:

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

When I execute systemctl status tomcat7.service, it shows this message:

● 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.

If I make ls /usr/lib/jvm/default-runtime to check if I have a Java environment, it shows:

bin  conf  demo  include  jmods  legal  lib  man  release

So, directory exists.

What could be happening? Thank you

  • It gives the same error, but, instead of show /usr/lib/jvm/default-runtime, it shows /usr/lib/jvm/java-9-openjdk (as excepted) – class_OpenGL Apr 2 '18 at 2:56
  • Are you sure you have a Java installed in your Arch Linux? Check this page for more instructions. If you use the command archlinux-java status, does it list one or more versions of Java installed? – filbranden Apr 2 '18 at 5:00
  • I think so. I can run and compile java programas via java and javac respectively. When I execute archlinux-java status, it is only show one version: java-9-openjdk (default) – class_OpenGL Apr 2 '18 at 6:09
1

You need to set java-8 or earlier as your default java version to work with tomcat on archlinux. Follow the arch wiki guide to get the correct version installed. https://wiki.archlinux.org/index.php/Java#Officially_supported_packages

To do that run:

sudo archlinux-java set java-8-openjdk
  • I tried with java 8 and java 7 – class_OpenGL Jul 6 '18 at 19:28
  • Does the output of journalctl -xe change after trying to restart systemctl start tomcat<version#>.service ? – Coldbrewed Jul 6 '18 at 19:33
  • No. Also, I tried to stop and star the service again – class_OpenGL Jul 6 '18 at 19:34
  • I had the same problem, with tomcat8 on arch, and setting the default to java-8 fixed the problem for me. If you have the option to migrate to tomcat8, that may solve your problem. – Coldbrewed Jul 6 '18 at 19:38
  • At first time, I was working with tomcat8 – class_OpenGL Jul 6 '18 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.