我正在构建一个允许使用安装应用程序的平台。这些应用将是一个已编译的Java程序(.jar)文件,主要平台应能够从中读取设置方法。
到目前为止,经过数以千计的研究,我发现此过程中存在很多安全漏洞,但无法想到其他解决方法。
我收到此错误:
java.lang.ClassNotFoundException:iezon.app.SettingsApp
这是我读取应用程序.jar文件的方式:
false
这是我调用方法的方式:
Class<?> app = Class.forName(
"iezon.app.SettingsApp",
true,
new URLClassLoader (new URL[] {
new URL("file://C://Temp/SettingsApp.jar")
},
ClassLoader.getSystemClassLoader())
);
该文件确实存在于Temp目录中,并且具有Method method;
try {
method = app.getDeclaredMethod("run");
Object instance = app.newInstance();
JPanel result = (JPanel) method.invoke(instance);
Window.frame.getContentPane().add(result);
} catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
包和一个名为iezon.app
的JPanel类,其代码如下:
SettingsApp
请,对此的任何帮助都将非常丰富,或者指向实现该方法的另一种方式。