search for matching line with java version
do not just try to read java version from first line, but search for the matching line from java output
This commit is contained in:
@@ -23,7 +23,8 @@ Facter.add(:java_version) do
|
||||
setcode do
|
||||
unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase
|
||||
if Facter::Util::Resolution.which('java')
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -35,7 +36,8 @@ Facter.add(:java_version) do
|
||||
setcode do
|
||||
Facter::Util::Resolution.with_env("PATH" => '/usr/local/jdk-1.7.0/jre/bin:/usr/local/jre-1.7.0/bin') do
|
||||
if Facter::Util::Resolution.which('java')
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -46,7 +48,8 @@ Facter.add(:java_version) do
|
||||
has_weight 100
|
||||
setcode do
|
||||
unless /Unable to find any JVMs matching version/ =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user