re PR libgcj/19681 (extension loading currently incorrect)
PR libgcj/19681: * Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Added new class. * java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal): Use system_instance, not instance. * gnu/gcj/runtime/SystemClassLoader.java: New file. * gnu/gcj/runtime/VMClassLoader.java (init): Don't search java.class.path. (system_instance): New field. (initialize): Initialize the system loader as well. (VMClassLoader): Default to LIB_CACHE. From-SVN: r94611
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/* Copyright (C) 2005 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package gnu.gcj.runtime;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.HashSet;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
|
||||
public final class SystemClassLoader extends URLClassLoader
|
||||
{
|
||||
SystemClassLoader(ClassLoader parent)
|
||||
{
|
||||
super(new URL[0], parent);
|
||||
}
|
||||
|
||||
// We add the URLs to the system class loader late. The reason for
|
||||
// this is that during bootstrap we don't want to parse URLs or
|
||||
// create URL connections, since that will result in circularities
|
||||
// causing a crash.
|
||||
void init()
|
||||
{
|
||||
StringTokenizer st
|
||||
= new StringTokenizer (System.getProperty ("java.class.path", "."),
|
||||
File.pathSeparator);
|
||||
while (st.hasMoreElements ())
|
||||
{
|
||||
String e = st.nextToken ();
|
||||
try
|
||||
{
|
||||
if ("".equals(e))
|
||||
e = ".";
|
||||
|
||||
File path = new File(e);
|
||||
// Ignore invalid paths.
|
||||
if (!path.exists())
|
||||
continue;
|
||||
if (!e.endsWith (File.separator) && path.isDirectory ())
|
||||
addURL(new URL("file", "", -1, e + File.separator));
|
||||
else
|
||||
addURL(new URL("file", "", -1, e));
|
||||
}
|
||||
catch (java.net.MalformedURLException x)
|
||||
{
|
||||
// This should never happen.
|
||||
throw new RuntimeException(x);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user