Java 如何从jar内部执行jar?

Java 如何从jar内部执行jar?,java,jar,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(n

我计划使用另一个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
文件中<还包括code>config.xml文件

如何运行命令,使其执行包含的jar文件

main.jar的文件夹结构

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

当然。把它复制到外面,创建一个类加载器,找到你想要开始的类,然后离开。当它还在那里的时候就在那里了?好的,您必须编写自己的代码,将类文件从嵌入的jar文件中提取出来,并使它们可供类加载器使用,可能您必须从头开始编写。

在运行它之前,您肯定必须将其解压缩到jar外部

“可能您必须从头开始编写。”例如,请参阅“一个JAR选项集成了一个专门的类加载器..它处理JAR中的JAR文件。”&“类加载器从顶部JAR和顶部JAR中加载类、本机库和资源。”最简单的方法可能是通过编程创建jar的副本,然后使用Runtime.exec运行它,然后删除它。你觉得怎么样?