public class MyClassLoader extends URLClassLoader {
public MyClassLoader() throws Exception{
super(new URL[]{new URL("file:///home/ubuntu/java/hello.jar")});
}
@Override
public Class loadClass(String name) throws ClassNotFoundException {
if (name.equals("hello.example.org.Foo") || name.equals("hello.example.org.Bar"))
{
System.out.println("Foo or Bar is loaded");
}
return super.loadClass(name);
}
Ich möchte nur einen Block von Code auszuführen, bevor bestimmte Klassen und den obigen Code zu laden funktioniert nicht ganz, und ich bin nicht sicher, wo der Fehler?
, wenn ich alle meine Klassen in JAR-Datei haben würde ich es laufen als
java -Djava.system.class.loader=MyClassLoader -jar hello.jar
sollten Sie Code hinzufügen, der zeigt, wie Sie 'MyClassLoader' verwenden – wero
getan! Ich habe gerade meine Frage bearbeitet. – user1870400