Thank you for reporting the problem. I added you message to Bugilla:
https://issues.apache.org/bugzilla/show_bug.cgi?id=45585
We were already thinking about your first two solutions, I missed the
third one. We'll need to check how reliable that is (w.r.t. POSIX). I am
a little in favor of "-Dnop" or something similar.
Regards,
Rainer
Ian Ward Comfort wrote:
I believe commit 652629 (which appeared in 6.0.17) broke catalina.sh
startup when JULI is not used -- that is, when
$CATALINA_BASE/conf/logging.properties does not exist. If this file is
absent, LOGGING_CONFIG is not set. However the variable appears quoted
in the shell command to exec the JVM:
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS ...
Which introduces an empty argument when LOGGING_CONFIG is unset, and the
JVM interprets this empty argument as the class to be invoked.
Three possible fixes are:
* Set LOGGING_CONFIG to a harmless flag if JULI is not used. With my
Sun JVM, a plain -D is safe. I don't know how portable this is. It
isn't very pretty.
* Maintain separate JVM invocations for the cases when LOGGING_CONFIG is
set and when it's unset. This involves more code duplication. The code
in question is already duplicated; I'm not sure whether that argues for
or against this strategy.
* Use a one-item shell array with an @ subscript, which is immune to
word splitting when between double quotes but expands to nothing when
unpopulated. For example:
LOGGING_CONFIG[0]="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
followed by:
"$_RUNJAVA" $JAVA_OPTS "[EMAIL PROTECTED]" $CATALINA_OPTS ...
This method may be too clever. I think POSIX requires shell arrays but
being portable to true Bourne shell would require $@, which is already
being used.
I'd be willing to write up a patch if any of these methods seem acceptable.
--
Ian Ward Comfort <[EMAIL PROTECTED]>
System Administrator, Student Computing, Stanford University
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]