从java代码运行Launch4J?

时间:2011-09-07 18:54:09

标签: java runtime launch4j

我在编译/构建期间使用了launch4j将可执行jar包装到我的pom.xml(maven项目文件)文件中的exe文件中。

但是可以从一段java代码运行launch4J并在执行java应用程序时动态创建一个exe包装器,如:

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();
  }
}

欢迎提供示例的任何指针或链接!

1 个答案:

答案 0 :(得分:3)

由于你不想彻底Runtime.getRuntime().exec(..)方式,你将不得不修补。我们使用了launch4J,我们从未遇到过您正在寻找的用例。我认为launch4J没有文档化的Java API。

但是,您可能会修改launch4J中使用的Ant任务,并在此处将其用于您的目的。 看看task's source

您会看到它使用net.sf.launch4j.Buildernet.sf.launch4j.config.Config来“构建”EXE。

  • 祝你好运!