Fixed broken classpath when multiple jars in build directory

Patch by Jacek Lewandowski reviewed by Michael Semb Wever and Brandon Williams for CASSANDRA-17129
This commit is contained in:
Jacek Lewandowski 2021-11-09 09:42:27 +01:00 committed by Mick Semb Wever
parent 1bcfa087f4
commit aaffb3b53e
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
2 changed files with 11 additions and 3 deletions

View File

@ -1,4 +1,5 @@
4.0.2
* Fixed broken classpath when multiple jars in build directory (CASSANDRA-17129)
* DebuggableThreadPoolExecutor does not propagate client warnings (CASSANDRA-17072)
* internode_send_buff_size_in_bytes and internode_recv_buff_size_in_bytes have new names. Backward compatibility with the old names added (CASSANDRA-17141)
* Remove unused configuration parameters from cassandra.yaml (CASSANDRA-17132)

View File

@ -30,10 +30,17 @@ CLASSPATH="$CASSANDRA_CONF"
# compiled classes. NOTE: This isn't needed by the startup script,
# it's just used here in constructing the classpath.
if [ -d $CASSANDRA_HOME/build ] ; then
#cassandra_bin="$CASSANDRA_HOME/build/classes/main"
cassandra_bin=`ls -1 $CASSANDRA_HOME/build/apache-cassandra*.jar`
jars_cnt="`ls -1 $CASSANDRA_HOME/build/apache-cassandra*.jar | grep -v 'javadoc.jar' | grep -v 'sources.jar' | wc -l | xargs echo`"
if [ "$jars_cnt" -gt 1 ]; then
dir="`cd $CASSANDRA_HOME/build; pwd`"
echo "There are JAR artifacts for multiple versions in the $dir directory. Please clean the project with 'ant realclean' and build it again." 1>&2
exit 1
fi
CLASSPATH="$CLASSPATH:$cassandra_bin"
if [ "$jars_cnt" = "1" ]; then
cassandra_bin="`ls -1 $CASSANDRA_HOME/build/apache-cassandra*.jar | grep -v javadoc | grep -v sources`"
CLASSPATH="$CLASSPATH:$cassandra_bin"
fi
fi
# the default location for commitlogs, sstables, and saved caches