Obtener JAVA_HOME mediante jrunscript

Para poder automatizar ciertas tareas nos puede interesar poder obtener el JAVA_HOME de la versión que tengamos instalada de java. Vamos a ver como podemos hacerlo mediante jrunscript:

jrunscript permite ejecutar javascript, por lo que simplemente deberemos obtener el valor de java.home y imprimirlo:

# jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/usr/lib/jvm/java-7-openjdk-amd64/jre

Podemos ver un ejemplo de uso en el modulo de puppet eyp-tomcat para realizar la instalació de la tomcat native library:

    exec { "configure native library ${srcdir}":
      command => 'bash -c "./configure --with-apr=/usr/bin/apr-1-config --with-java-home=$(dirname $(jrunscript -e \'java.lang.System.out.println(java.lang.System.getProperty("java.home"));\'))"',
      require => [ Package[$tomcat::params::develpkg], Exec["tar xzf native library ${srcdir}"] ],
      cwd     => "${srcdir}/tomcat-native-library/jni/native",
      creates => "${srcdir}/tomcat-native-library/jni/native/Makefile",
    }

Tags: