if check executable javavm; then cfg:set '$' 'jre path' "$(realpath $(find $(JAVAVM_DRYRUN=yes java | sed -e '1 s/^JAVA_HOME=//p;d') -name rt.jar | sed 's/[^/\\]*\.jar$/../'))" else cfg:set '$' 'jre path' "$(realpath $(for jar in $(java -verbose 2>&1 | grep Opened | cut -d ' ' -f 2- | tr ' ' '%'); do echo $jar | tr '%' ' ' | sed 's/[^/\\]*\.jar]$/../'; done | sort -u))" fi cfg:set '$' 'jdk path' "$(realpath $(ls $(cfg:get 'jre path'){/*,/../*}/jni.h 2>/dev/null | head -n 1 | sed -e 's/jni\.h$/../'))" check framework JavaVM