#!/bin/bash # OS specific support (must be 'true' or 'false'). cygwin=false; darwin=false; case "`uname`" in CYGWIN*) cygwin=true ;; Darwin*) darwin=true ;; esac if [ -z "${JAVA_HOME}" ]; then if $darwin ; then [ -z "$JAVA_HOME" -a -f "/usr/libexec/java_home" ] && export JAVA_HOME=`/usr/libexec/java_home` [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home" [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" else javaExecutable="`which javac`" [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME." javaExecutable="`readlink -f \"$javaExecutable\"`" javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi if [ ! -f "${JAVA_HOME}/bin/java" ]; then echo "" echo "======================================================================================================" echo " Please ensure that your JAVA_HOME points to a valid Java SDK." echo " You are currently pointing to:" echo "" echo " ${JAVA_HOME}" echo "" echo " This does not seem to be valid. Please rectify and restart." echo "======================================================================================================" echo "" exit 1 fi if [ "$SPRING_HOME" == "" ]; then script=`readlink $0` SPRING_HOME=`cd "$(dirname $script)"/.. && pwd` else if [ ! -d "${SPRING_HOME}" ]; then echo "Not a directory: SPRING_HOME=${SPRING_HOME}" echo "Please rectify and restart." exit 2 fi SPRING_HOME=`cd "${SPRING_HOME}" && pwd` fi SPRING_BIN=$(dirname $0) TARGETDIR=target/classes if [ -f build.gradle ]; then TARGETDIR=build/classes/main fi for f in . "${TARGETDIR}" "${SPRING_HOME}"/classes "${SPRING_BIN}" "${SPRING_HOME}"/*.jar "${SPRING_HOME}"/lib/*.jar; do if [ -f $f -o -d $f ]; then if [ "${CLASSPATH}" == "" ]; then CLASSPATH="${f}" else CLASSPATH="${CLASSPATH}":"${f}" fi fi done if $cygwin; then CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` fi ${JAVA_HOME}/bin/java ${JAVA_OPTS} -cp "$CLASSPATH" org.springframework.boot.cli.SpringCli $*