Classpathchecker.rb
Here's a handy script I often use in scripts which launch a Java process in order to verify if all the jars on the classpath exist and are readable.
<geshi lang="ruby">
- !/usr/bin/env ruby
- Checks to make sure all the entries on the classpath are valid
- We only want to emit color codes if we're outputting to a terminal. If this is getting piped into grep or less, we'll ignore these
red=STDOUT.isatty ? "\e[1;31m" :"" normal=STDOUT.isatty ? "\e[0;0m" : ""
if ARGV.size == 0 then
cp = ENV['CLASSPATH']
else
cp = ARGV[0]
end
if cp == nil then
STDERR.puts "No CLASSPATH set" exit 1
else
if cp =~ /jar:/ then
splitchar = ':'
else
splitchar = ';'
end
ret = 0
cp.split(splitchar).each do |file|
if !File.readable?(file) then
STDERR.puts "Warning: Classpath file #{red}#{file}#{normal} can't be read"
ret = 1
end
end
if ret != 0 then
exit ret
end
end </geshi>