尝试使用Alakai插件将Launch4j集成到Maven项目中

我试图将安装程序的生成集成为maven编译过程的一部分。

我找到了Alakai的Launch4j 插件 。 我使用Maven创建了一个简单的Hello World应用程序。 我试图使用Alakai提供的配置示例,但是当我编译项目时,我得到:

无法在项目Launch4j上执行目标org.bluestemsoftware.open.maven.plugin:launch4j-plugin:1.5.0.0:launch4j(launch4j):无法构建可执行文件; 请validation您的配置。 应用程序jar不存在。 – > [帮助1]

不幸的是,Alakai的文档是有限的,我用谷歌搜索找不到多少。

  • 有谁知道应该在哪里设置Launch4j config.xml? 它在项目内吗? 它在一个单独的目录中吗?
  • 我需要使用程序集插件吗?
  • 我在我的电脑上安装了Launch4j。 我是否需要在pom.xml中指定安装目录? 如果有,怎么样?
  • 有没有人有一个可操作的pom.xml示例/示例来共享?

谢谢。

  1. 没有config.xml,您需要在pom.xml文件中配置launch4j。
  2. 你可以使用maven-assembly-plugin,但我建议你使用maven-shade-plugin。
  3. 不需要指定launch4j安装,这个插件工作100%maven。
  4. 当然。 按照我使用的shade和launch4j配置,使用不同的主类生成两个exes,一个控制台和一个gui:
 org.apache.maven.plugins maven-shade-plugin 1.4   package  shade     true  shaded     org.bluestemsoftware.open.maven.plugin launch4j-plugin 1.5.0.0    l4j-gui package  launch4j   gui target/app-gui.exe target/${artifactId}-${version}-shaded.jar  App Err  package.AppGUI  src/main/resources/icons/exeIcon.ico  1.5.0 1.6.0 128 1024   1.0.0.0 1.0.0.0 Desc C 1.0.0.0 1.0.0.0 Product Product App.exe      l4j-cli package  launch4j   console target/app-cli.exe target/${artifactId}-${version}-shaded.jar  App Err  package.AppCLI  src/main/resources/icons/exeIcon.ico  1.5.0 1.6.0 128 1024      

或者,您可以省略launch4j-plugin上的’jar’标签并删除shade-plugin的额外配置,但请注意,这将替换阴影jar(具有嵌入式jar)的流的主要jar(没有嵌入的依赖项)依赖项),这个将安装在您的本地仓库,或者如果需要在反应堆中使用。

有关如何为shade插件定义主类的信息,请参阅http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html 。