Quick post, had to make Tomcat9 and Java12 work together. The procedure is as follows:
1. pkg install tomcat9 (it will also install java8)
2. pkg install openjdk12
Now and edit /etc/rc.conf with a parameter to start tomcat on boot and set the tomcat java_home.
tomcat9_enable="YES" tomcat9_java_home="/usr/local/openjdk12"
And not to part that took me a long time to figure out. In Java12, there is no longer a feature that tomcat is using in its startup parameters. But if you remove that from the init script you are able to start it up. The line is: Djava.endorsed.dirs=’/usr/local/apache-tomcat-8.0/endorsed’ \
command="/usr/local/bin/jsvc"
command_args="-java-home '${_tomcat_java_home}' \
-server \
-user ${_tomcat_catalina_user} \
-umask ${_tomcat_umask} \
-pidfile '${pidfile}' \
-wait ${_tomcat_wait} \
-outfile '${_tomcat_stdout}' \
-errfile '${_tomcat_stderr}' \
-classpath '${_tomcat_catalina_home}/bin/bootstrap.jar:/usr/local/share/java/classes/commons-daemon.jar:$
{_tomcat_catalina_home}/bin/tomcat-juli.jar${_tomcat_classpath}' \
-Djava.util.logging.manager=${_tomcat_logging_manager} \
-Djava.util.logging.config.file='${_tomcat_logging_config}' \
${_tomcat_java_opts} \
-Djava.endorsed.dirs='/usr/local/apache-tomcat-8.0/endorsed' \<<<<<<<<<<<< Remove this line!!!
-Djava.endorsed.dirs='${_tomcat_catalina_home}/endorsed' \
-Dcatalina.home='${_tomcat_catalina_home}' \
-Dcatalina.base='${_tomcat_catalina_base}' \
-Djava.io.tmpdir='${_tomcat_catalina_tmpdir}' \
org.apache.catalina.startup.Bootstrap \
${_tomcat_pipe_cmd}"
run_rc_command "$1"
After this, you are now able to boot tomcat9 with java12 🙂
Was this post helpful?
Was this article helpful?
YesNo