Java 如何从jar内部执行jar?
我计划使用另一个jar中包含的jar执行一个jar命令 该命令将使用类似以下代码自动混淆Java 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
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运行它,然后删除它。你觉得怎么样?