执行jar文件方法并获取return

时间:2018-09-13 20:02:46

标签: java

我正在构建一个允许使用安装应用程序的平台。这些应用将是一个已编译的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

请,对此的任何帮助都将非常丰富,或者指向实现该方法的另一种方式。

0 个答案:

没有答案