diff options
author | Anthony Green <green@redhat.com> | 2004-06-17 13:30:32 +0000 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2004-06-17 13:30:32 +0000 |
commit | 794c3bee303760a10e5442d23cda23b6c71ed5ea (patch) | |
tree | 818c76411f18f412436d6dd2392d945dc070c641 /libjava/gnu/gcj | |
parent | ca072a31b75eacb8292cfa91fb779020ee5f6118 (diff) | |
download | gcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.zip gcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.tar.gz gcc-794c3bee303760a10e5442d23cda23b6c71ed5ea.tar.bz2 |
Add extension directory contents to the class path.
From-SVN: r83291
Diffstat (limited to 'libjava/gnu/gcj')
-rw-r--r-- | libjava/gnu/gcj/runtime/VMClassLoader.java | 30 |
1 files changed, 30 insertions, 0 deletions
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 |