2011-09-07 131 views
2

我已經在編譯/編譯期間使用launch4j將可執行jar包裝到我的pom.xml(maven project文件)文件中的exe文件中。從java代碼運行Launch4J?

但是,它可以從一塊Java代碼和在執行該Java應用,如動態創建一個exe包裝運行launch4J:

import some.l4j.dependencies.*; 
public class L4JTest { 
    public static void main(String[] args) { 
     Launch4JConfig l4jConfig = new Launch4JConfig(); 
     l4jConfig.setJarPath("path-to-jar-to-wrap"); 
     l4jConfig.setOutfile("test.exe") 
     l4jConfig.setDontWrapJar(true); 
     ... 
     l4jConfig.create(); 
    } 
} 

任何指針或鏈接到實例是歡迎!

+0

你有沒有考慮使用launch4J命令行,然後使用'調用Runtime.getRuntime()的Java程序調用它的exec(....);' –

+0

是啊,那將是「暴力破解」的方法,但也許有一個java友好的API可以被包含/使用。 – u123

回答

3

由於您不想全面深入Runtime.getRuntime().exec(..)的方式,您將不得不修補。我們已經使用了launch4J,並且我們從未有過您正在尋找的用例。我不認爲launch4J有一個記錄在案的Java API。

但是,您可以修改launch4J中使用的Ant任務,並將其用於您的目的。 看看task's source

你會發現它利用net.sf.launch4j.Buildernet.sf.launch4j.config.Config來「構建」EXE。

  • 祝你好運!