如何从jar中执行jar?

时间:2012-04-18 20:41:11

标签: java jar

我计划使用另一个jar中包含的jar来执行jar命令。

该命令将使用类似于:

的代码自动对Java jar文件进行模糊处理
public void obfuscate()
{
    try
    {
        String jre = "\"" + System.getProperty("java.home") + "\\bin\\javaw.exe" + "\"";
        String jar = " -jar";
        Runtime.getRuntime().exec(new String[] { jre, jar.trim(), "/lib/allatori.jar /lib/config.xml" });
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

allatori.jar文件作为资源包含在我的main.jar文件中。还包括config.xml文件。

如何运行我的命令以便它执行包含的jar文件?

main.jar 的文件夹结构:

- main.jar
  |
  |- main_class.class
  |- lib/
      |- allatori.jar
      |- config.xml
      |- jarToObfuscate.jar

2 个答案:

答案 0 :(得分:1)

不确定。将它复制到外面,创建一个类加载器,找到你想要开始的课程,然后离开。它仍在那里的位置?好吧,你必须编写自己的代码来从嵌入式jar文件中提取类文件,并使它们可用于类加载器,可能你必须从头开始编写它。

答案 1 :(得分:1)

在运行之前,你必须在jar外面解压缩它。