2

在编译/构建期间,我使用 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();
  }
}

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

4

1 回答 1

3

既然你不想走彻底的Runtime.getRuntime().exec(..)路,你将不得不修补。我们使用了 launch4J,但我们从来没有您正在寻找的用例。我认为 launch4J 没有文档化的 Java API。

但是,您可以修改 launch4J 中使用的 Ant 任务,并在此处将其用于您的目的。查看任务的来源

您将看到它利用net.sf.launch4j.Buildernet.sf.launch4j.config.Config“构建”EXE。

  • 祝你好运!
于 2011-09-07T19:33:59.447 回答