Skip to content

Commit 46f3ed9

Browse files
committed
U java version comparison enhanced
1 parent dc5c83a commit 46f3ed9

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

src/main/resources/linux/startup.sh.vtl

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,29 @@ else
2323
exit 1
2424
fi
2525
#if ($info.jreMinVersion)
26+
function compareVersions() {
27+
[[ "$1" == "$2" ]] && return 0
28+
local IFS=.
29+
local i v1 v2
30+
read -r -a v1 <<< "$1"
31+
read -r -a v2 <<< "$2"
32+
for ((i=${#v1[@]}; i<${#v2[@]}; i++))
33+
do
34+
v1[i]=0
35+
done
36+
for ((i=${#v2[@]}; i<${#v1[@]}; i++))
37+
do
38+
v2[i]=0
39+
done
40+
for ((i=0; i<${#v1[@]}; i++))
41+
do
42+
[[ "${v1[$i]}" > "${v2[$i]}" ]] && return 1
43+
[[ "${v1[$i]}" < "${v2[$i]}" ]] && return 2
44+
done
45+
return 0
46+
}
2647
JAVA_VERSION=$("$JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}')
27-
if [[ "$JAVA_VERSION" < "${info.jreMinVersion}" ]]; then
48+
if compareVersions "$JAVA_VERSION" "${info.jreMinVersion}"; then
2849
showMessage "The application requires a Java Runtime Environment ${info.jreMinVersion} or higher."
2950
exit 1
3051
fi

0 commit comments

Comments
 (0)