From 383bf9878a07b8fdc191b5adb4f00b7f458064af Mon Sep 17 00:00:00 2001 From: green <green@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu, 17 Jun 2004 13:30:32 +0000 Subject: [PATCH] Add extension directory contents to the class path. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83291 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 5 ++++ libjava/gnu/gcj/runtime/VMClassLoader.java | 30 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 299ec1c59efe..1ff76e27d724 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 3eabd73d4318..75d193b103cb 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 -- GitLab