aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2004-06-17 13:30:32 +0000
committerAnthony Green <green@gcc.gnu.org>2004-06-17 13:30:32 +0000
commit794c3bee303760a10e5442d23cda23b6c71ed5ea (patch)
tree818c76411f18f412436d6dd2392d945dc070c641
parentca072a31b75eacb8292cfa91fb779020ee5f6118 (diff)
downloadgcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.zip
gcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.tar.gz
gcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.tar.bz2
Add extension directory contents to the class path.
From-SVN: r83291
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/gnu/gcj/runtime/VMClassLoader.java30
2 files changed, 35 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 299ec1c..1ff76e2 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-17 Anthony Green <green@redhat.com>
+
+ * gnu/gcj/runtime/VMClassLoader.java (init): Add extension
+ directory contents to the class path.
+
2004-06-15 Andrew Haley <aph@redhat.com>
* java/lang/natSystem.cc (getenv0): Don't assume environment
diff --git a/libjava/gnu/gcj/runtime/VMClassLoader.java b/libjava/gnu/gcj/runtime/VMClassLoader.java
index 3eabd73..75d193b 100644
--- a/libjava/gnu/gcj/runtime/VMClassLoader.java
+++ b/libjava/gnu/gcj/runtime/VMClassLoader.java
@@ -57,6 +57,36 @@ public final class VMClassLoader extends java.net.URLClassLoader
/* Ignore this path element */
}
}
+
+ // Add the contents of the extensions directories.
+ st = new StringTokenizer (System.getProperty ("java.ext.dirs"),
+ System.getProperty ("path.separator", ":"));
+ while (st.hasMoreElements ())
+ {
+ String dirname = st.nextToken ();
+ try
+ {
+ File dir = new File (dirname);
+ if (! dirname.endsWith (File.separator))
+ dirname = dirname + File.separator;
+ String files[]
+ = dir.list (new FilenameFilter ()
+ {
+ public boolean accept (File dir, String name)
+ {
+ return (name.endsWith (".jar")
+ || name.endsWith (".zip"));
+ }
+ });
+ for (int i = files.length - 1; i >= 0; i--)
+ addURL(new URL("file", "", -1, dirname + files[i]));
+ }
+ catch (Exception x)
+ {
+ // Just ignore any badness.
+ }
+ }
+
// Add core:/ to the end of the java.class.path so any resources
// compiled into this executable may be found.
try