We are trying to upgrade one of our tomcats from 7.0.77 to 8.5.51 and are running into a bit of an issue.
First a bit of history on our current setup:
Apache Tomcat 7.0.77 on Solaris 11.4.20.4.0, 1 webapps warfile with CSH as the shell. In order to set our JAVA_OPTS and our CATALINA_OPTS we have, in the past, edited the bin/catalina.sh and on line 119 have put the following: . opts.inc This setup works perfectly and continues to do so.
an example opts.inc file:
#!/bin/sh
JAVA_OPTS="-d64 -server -Xms1g <snip>"
CATALINA_OPTS="-Dtomcat.session=${JVMROUTE} -Dcom.sun.management.jmxremote <snip>"
Note: We know this is a bad practice and are NOT doing it anymore on our other bash based tomcats (or this one)
The issue is now that we are upgrading to 8.5.51 and we need to use setenv.sh (seemingly required - from our previous other bash env tomcat upgrades). We tried the old way but the logs/catalina.out shows that the ENV params aren't being applied. This isn't a problem on our other tomcats that are running bash because this works:
Working on bash tomcats (tried in csh and didn't work)
#!/bin/sh
JAVA_OPTS="-Dcom1 -Dcom2 -Dcom3 ... etc"
CATALINA="-Dcom4 -Dcom5 etc"
This works when manually applied on command line, but not in a script
cat $TOMCAT_DIR/bin/setenv.sh
#!/usr/bin/csh
setenv FOO "-Dcom1 -Dcom2 -Dcom3 etc"
run the above as a test in that bin dir: ./setenv.sh (no errors)
env |grep FOO
Nothing.
@ csh prompt
setenv FOO "-Dcom1 -Dcom2 -Dcom3"
env |grep FOO
FOO=-Dcom1 -Dcom2 -Dcom3
I really don't know what to do at this point and would appreciate any and all help.