Class: JavaClass::Classpath::JavaHomeClasspath
- Inherits:
-
JarClasspath
- Object
- JarClasspath
- JavaClass::Classpath::JavaHomeClasspath
- Defined in:
- lib/javaclass/classpath/java_home_classpath.rb
Overview
Abstraction of the Java boot CLASSPATH. May return additional classpath elements for endorsed libs.
- Author
-
Peter Kofler
Instance Method Summary collapse
-
#additional_classpath ⇒ Object
Return list of additional classpath elements, e.g.
-
#initialize(javahome) ⇒ JavaHomeClasspath
constructor
Return the list of classnames found in this javahome .
Methods inherited from JarClasspath
#==, #count, #includes?, #jar?, #load_binary, #names, #to_s
Constructor Details
#initialize(javahome) ⇒ JavaHomeClasspath
Return the list of classnames found in this javahome .
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/javaclass/classpath/java_home_classpath.rb', line 11 def initialize(javahome) if FileTest.exist? rtjar=File.join(javahome, 'lib', 'rt.jar') super(rtjar) elsif FileTest.exist? rtjar=File.join(javahome, 'jre', 'lib', 'rt.jar') super(rtjar) else raise IOError, "rt.jar not found in java home #{javahome}" end @lib = File.dirname(rtjar) end |
Instance Method Details
#additional_classpath ⇒ Object
Return list of additional classpath elements, e.g. endorsed libs found in this Java Home.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/javaclass/classpath/java_home_classpath.rb', line 23 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 |