Building classpath at runtime
Friends
I see this question appearing very often in forums but couldn't find a
satisfactory answer. Following is what I am trying achive
1. I have a java application that depends on several classes that are
packaged as jars.
2. Application runs as java -jar "XXX" -cp <classpath>
3. I sometimes need to create emergency fixes or jars. I will like to
put them in an "updates" directory. As names of these jar files will be
determined later, I want my program to scan "updates" directory at
startup, and prepend (before initial classpath) any discovered jar
files.
4. I know that ClassLoader.loadClass() is a viable method but most of
my code takes a new <class>() approach. I will appreciate any
suggestions.
Following is my sample test code.
//////////////////////////// Sample Code
///////////////////////////////
import java.io.FileInputStream;
import java.util.Properties;
public class PropertiesTest {
public static void main(String[] args) throws Exception {
System.getProperties().list(System.out);
// My original classpath does not have c:\\updates
System.setProperty("java.class.path",
"=c:\\updates;.;C:\\Program Files\\Java\\jre1.5.0_06;c:\\updates");
System.getProperties().list(System.out);
NewClass myclass = new NewClass(); // >>>>>>>> Need to load
this class from a location "c:\updates"
// determined at runtime<<<<
myclass.hello();
}
}