diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index f4cb83fe2e..8a16ae243f 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -50,6 +50,8 @@ extended for lambda parameters with Java 11 via ### Fixed Issues +* core + * [#1225](https://github.com/pmd/pmd/issues/1225): \[core] Error in sed expression on line 82 of run.sh while detecting installed version of Java * doc * [#1215](https://github.com/pmd/pmd/issues/1215): \[doc] TOC links don't work? * java-codestyle diff --git a/pmd-dist/src/main/scripts/run.sh b/pmd-dist/src/main/scripts/run.sh index fcd9f0cb18..5cd03fb76a 100755 --- a/pmd-dist/src/main/scripts/run.sh +++ b/pmd-dist/src/main/scripts/run.sh @@ -75,8 +75,16 @@ check_lib_dir() { } jre_specific_vm_options() { + full_ver=$(java -version 2>&1) # java_ver is eg "18" for java 1.8, "90" for java 9.0, "100" for java 10.0.x - java_ver=$(java -version 2>&1 | sed -n -e 's/-ea/.0.0/i' -e 's/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p') + java_ver=$(echo $full_ver | sed -n '{ + # replace early access versions, e.g. 11-ea with 11.0.0 + s/-ea/.0.0/ + # replace versions such as 10 with 10.0.0 + s/version "\([0-9]\{1,\}\)"/version "\1.0.0"/ + # extract the major and minor parts of the version + s/^.* version "\(.*\)\.\(.*\)\..*".*$/\1\2/p + }') options="" if [ "$java_ver" -ge 90 ] && [ "${APPNAME}" = "designer" ]