Class | JavaClass::Classpath::JavaHomeClasspath |
In: |
lib/javaclass/classpath/java_home_classpath.rb
|
Parent: | JarClasspath |
Abstraction of the Java boot CLASSPATH. May return additional classpath elements for endorsed libs. This is a leaf in the classpath tree.
Author: | Peter Kofler |
RT_JAR | = | 'rt.jar' |
Create a classpath from this javahome directory.
# File lib/javaclass/classpath/java_home_classpath.rb, line 14 def initialize(javahome) if exist?(rtjar=File.join(javahome, 'lib', RT_JAR)) super(rtjar) elsif exist?(rtjar=File.join(javahome, 'jre', 'lib', RT_JAR)) super(rtjar) elsif exist?(rtjar=File.join(javahome, 'lib', 'classes.zip')) # Java 1.1 home with lib/classes.zip super(rtjar) else raise IOError, "#{RT_JAR} not found in java home #{javahome}" end @lib = File.dirname(rtjar) end
Return list of additional classpath elements, e.g. endorsed libs found in this Java Home.
# File lib/javaclass/classpath/java_home_classpath.rb, line 28 def additional_classpath list = super if FileTest.exist? ext=File.join(@lib, 'ext') current = Dir.getwd Dir.chdir ext list += Dir['*.jar'].collect { |jar| File.join(ext, jar) } Dir.chdir current end list end