在编译/构建期间,我使用 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();
}
}
欢迎任何指向示例的指针或链接!
最佳答案
由于您不想彻底采用 Runtime.getRuntime().exec(..)
方式,因此您将不得不进行修改。我们使用过 launch4J,但从未有过您正在寻找的用例。我认为 launch4J 没有记录的 Java API。
但是,您可以修改 launch4J 中使用的 Ant 任务并将其用于此处的目的。 看看task's source
您将看到它使用 net.sf.launch4j.Builder
和 net.sf.launch4j.config.Config
来“构建”EXE。
- 祝你好运!
关于java - 从 java 代码运行 Launch4J?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339034/