Başka bir kavanoza dahil olan bir kavanoz kullanarak bir kavanoz komutu yürütmeyi planlıyorum.Kavanozun içinden nasıl kavanozu yürütürüm?
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
dosya bir kaynak olarak benim main.jar
dosyasında yer almaktadır:
komut otomatik benzer bir kod kullanarak bir Java kavanoz dosyası allak edecektir. config.xml
dosya da dahildir.
Komutumu, dahil edilen jar dosyasını yürütecek şekilde nasıl çalıştırabilirim? main.jar ait
Klasör yapısı:
- main.jar
|
|- main_class.class
|- lib/
|- allatori.jar
|- config.xml
|- jarToObfuscate.jar
* "Muhtemelen sıfırdan yazmak zorundasınız" * Bkz. [Şişman Kavanoz] (http://fjep.sourceforge.net/) * "One-JAR seçeneği, bir kavanoz içindeki jar dosyalarını işleyen özel bir Class-Loader'ı entegre eder." * & [JarClassLoader] (http: //www.jdotsoft.com/JarClassLoader.php) * "En iyi JAR içindeki JAR'lardan ve JAR'lardan sınıfları, yerel kitaplıkları ve kaynakları yüklemek için kullanılan sınıf yükleyicisi." * büyük bir aramanın en üst isabetlerinden sadece birkaçı motor .. –
Muhtemelen en kolay yolu, jar programın bir kopyasını oluşturmak, daha sonra Runtime.exec ile çalıştırmak ve daha sonra silmek olacaktır. Bunun hakkında ne düşünüyorsun? – Manitoba