Java:Jar Byte数组到实例化对象

时间:2014-11-07 02:36:55

标签: java jar classloader inputstream

我有一个jar文件的字节数组,我想实例化一个由jar中包含的类定义的对象。我该怎么做?现在我被困在

InputStream inputStream = App.class.getResourceAsStream("/example.jar");
byte[] bytes = IOUtils.toByteArray(inputStream);

我想我需要2件事,一个zip文件阅读器和一个类加载器。这听起来像是正确的方向吗?

1 个答案:

答案 0 :(得分:0)

您可以将内置URLClassLoader与您已有的资源路径一起使用并实例化该类。你不必自己阅读字节

// Create URLClassLoader 
URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{new URL("file://pathToJar/example.jar")});
Class<?> lookupClass = urlClassLoader.loadClass("com.somePackage.ClassName");
Object inst = lookupClass.newInstance();