4

在maven 用户列表中已经询问过类似的问题,但我有类似的情况。

我有一些服务,打包为 .WAR,由 maven 构建。但是,这个 .WAR 文件需要定制:我需要根据用户输入以不同的方式打包它。基本上,用户应该自己选择组件,他想添加到WAR中,并为这些组件定义一些简单的配置。

我需要做的是:

  1. 创建一个“轻量级”安装程序,它不会包含任何 maven 工件(或者,如果这不可能,则包含所有这些 =“重量级”安装程序)。
  2. 当最终用户启动安装程序时,会要求他提供要打包的组件列表(=复选框)
  3. 对于每个组件,安装程序都会询问配置选项(然后保存为 .property 文件,每个组件一个)
  4. 然后,安装程序仅获取所需的工件(由用户选择 + 那些是强制性的),并将这些工件中的属性文件替换为步骤 3 中的属性文件(或将它们放入“类/”)。
  5. 最后,它创建即用型 WAR 包并(可选)在后台启动 tomcat(或码头)。

IzPack 仅有助于解决第 2 步。但是有没有通用的解决方案呢?

4

1 回答 1

2

我不知道有什么通用的解决方案可以做到这一点,尤其是可以打包定制 WAR 的解决方案。IzPack可以收集安装参数(可能有助于解决第 3 步),IzPack一个称为Web 安装程序的高级功能,可以帮助解决第 4 步,但据我所知,它不是构建/打包工具,所以它不会涵盖第 5 步(最重要的)。

也许 Maven 原型可以在这里提供帮助(在交互模式下)。但我什至不确定原型能否提供您所需的灵活性。换句话说,它不会简单。

实际上,就您而言,我认为 Ant(使用Maven Ant Tasks或 Ivy)将是最佳选择。我知道这不是您要求的,但我认为 Maven 不是适合您用例的工具。

于 2010-02-05T20:47:58.653 回答