diff --git a/spring-boot-docs/src/main/asciidoc/deployment.adoc b/spring-boot-docs/src/main/asciidoc/deployment.adoc index aeffdc5e8e..736ad5fd97 100644 --- a/spring-boot-docs/src/main/asciidoc/deployment.adoc +++ b/spring-boot-docs/src/main/asciidoc/deployment.adoc @@ -432,6 +432,9 @@ the default behavior in a script or on the command line: but if it is not a symlink, or you want to explicitly set the app name this can be useful. +|`RUN_ARGS` +|The arguments to pass to the program (the Spring Boot app). + |`JAVA_HOME` |The location of the `java` executable is discovered by using the `PATH` by default, but you can set it explicitly if there is an executable file at `$JAVA_HOME/bin/java`. diff --git a/spring-boot-samples/spring-boot-sample-actuator/pom.xml b/spring-boot-samples/spring-boot-sample-actuator/pom.xml index 8bc49e99f8..9cf5b7473c 100644 --- a/spring-boot-samples/spring-boot-sample-actuator/pom.xml +++ b/spring-boot-samples/spring-boot-sample-actuator/pom.xml @@ -68,6 +68,9 @@ org.springframework.boot spring-boot-maven-plugin + + true + diff --git a/spring-boot-samples/spring-boot-sample-devtools/pom.xml b/spring-boot-samples/spring-boot-sample-devtools/pom.xml index 6416e47cb8..dfb514b593 100644 --- a/spring-boot-samples/spring-boot-sample-devtools/pom.xml +++ b/spring-boot-samples/spring-boot-sample-devtools/pom.xml @@ -43,9 +43,6 @@ org.springframework.boot spring-boot-maven-plugin - - false - diff --git a/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/launch.script b/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/launch.script index 3a0c4d2561..199f7735be 100755 --- a/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/launch.script +++ b/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/launch.script @@ -71,8 +71,8 @@ echoYellow() { echo $'\e[0;33m'$1$'\e[0m'; } # Utility functions checkPermissions() { - touch "$pid_file" &> /dev/null || { echoRed "Operation not permitted (cannot access pid file)"; exit 1; } - touch "$log_file" &> /dev/null || { echoRed "Operation not permitted (cannot access log file)"; exit 1; } + touch "$pid_file" &> /dev/null || { echoRed "Operation not permitted (cannot access pid file)"; return 4; } + touch "$log_file" &> /dev/null || { echoRed "Operation not permitted (cannot access log file)"; return 4; } } isRunning() { @@ -115,40 +115,40 @@ command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $JAVA_OPT start() { if [[ -f "$pid_file" ]]; then pid=$(cat "$pid_file") - isRunning $pid && { echoYellow "Already running [$pid]"; exit 0; } + isRunning $pid && { echoYellow "Already running [$pid]"; return 0; } fi pushd $(dirname "$jarfile") > /dev/null if [[ -n "$run_user" ]]; then mkdir "$PID_FOLDER" &> /dev/null - checkPermissions + checkPermissions || return $? chown "$run_user" "$PID_FOLDER" chown "$run_user" "$pid_file" chown "$run_user" "$log_file" su -c "$command &> \"$log_file\" & echo \$!" $run_user > "$pid_file" pid=$(cat "$pid_file") else - checkPermissions + checkPermissions || return $? $command &> "$log_file" & pid=$! disown $pid echo "$pid" > "$pid_file" fi - [[ -z $pid ]] && { echoRed "Failed to start"; exit 1; } + [[ -z $pid ]] && { echoRed "Failed to start"; return 1; } echoGreen "Started [$pid]" } stop() { - [[ -f $pid_file ]] || { echoRed "Not running (pidfile not found)"; exit 1; } + [[ -f $pid_file ]] || { echoRed "Not running (pidfile not found)"; return 1; } pid=$(cat "$pid_file") rm -f "$pid_file" - isRunning $pid || { echoRed "Not running (process ${pid} not found)"; exit 1; } - kill -HUP $pid &> /dev/null || { echoRed "Unable to kill process ${pid}"; exit 1; } - for i in $(seq 1 20); do - isRunning ${pid} || { echoGreen "Stopped [$pid]"; rm -f $pid_file; exit 0; } + isRunning $pid || { echoRed "Not running (process ${pid} not found)"; return 1; } + kill -HUP $pid &> /dev/null || { echoRed "Unable to kill process ${pid}"; return 3; } + for i in $(seq 1 60); do + isRunning ${pid} || { echoGreen "Stopped [$pid]"; rm -f $pid_file; return 0; } sleep 1 done echoRed "Unable to kill process ${pid}"; - exit 3; + return 3; } restart() { @@ -157,31 +157,33 @@ restart() { } status() { - [[ -f $pid_file ]] || { echoRed "Not running"; exit 1; } + [[ -f $pid_file ]] || { echoRed "Not running"; return 1; } pid=$(cat "$pid_file") - isRunning $pid || { echoRed "Not running (process ${pid} not found)"; exit 1; } + isRunning $pid || { echoRed "Not running (process ${pid} not found)"; return 3; } echoGreen "Running [$pid]" - exit 0 + return 0 } run() { pushd $(dirname "$jarfile") > /dev/null exec $command + result = $? popd + return $result } # Call the appropriate action function case "$action" in start) - start "$@";; + start "$@"; exit $?;; stop) - stop "$@";; + stop "$@"; exit $?;; restart) - restart "$@";; + restart "$@"; exit $?;; status) - status "$@";; + status "$@"; exit $?;; run) - run "$@";; + run "$@"; exit $?;; *) echo "Usage: $0 {start|stop|restart|status|run}"; exit 1; esac