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