Bitte schauen Sie sich dieses Projekt an, das ich begonnen habe: proxy-object lib
Diese Lib lädt jar aus dem Dateisystem oder von einem anderen Ort. Sie wird einen Klassenlader für die Jar-Datei bereitstellen, um sicherzustellen, dass es keine Bibliothekskonflikte gibt. Benutzer können jedes Objekt aus dem geladenen Jar erstellen und jede Methode darauf aufrufen. Diese Bibliothek wurde entwickelt, um Jars zu laden, die in Java 8 aus der Codebasis kompiliert wurden, die Java 7 unterstützt.
Um ein Objekt zu erstellen:
File libDir = new File("path/to/jar");
ProxyCallerInterface caller = ObjectBuilder.builder()
.setClassName("net.proxy.lib.test.LibClass")
.setArtifact(DirArtifact.builder()
.withClazz(ObjectBuilderTest.class)
.withVersionInfo(newVersionInfo(libDir))
.build())
.build();
String version = caller.call("getLibVersion").asString();
ObjectBuilder unterstützt Factory-Methoden, den Aufruf statischer Funktionen und den Rückruf von Schnittstellenimplementierungen. Ich werde weitere Beispiele auf der Readme-Seite veröffentlichen.