实现基于maven的安装程序

实现基于maven的安装程序,maven,Maven,有人问过类似的问题,但我有类似的情况 我有一些服务,打包为.WAR,由maven构建。但是,这个.WAR文件需要定制:我需要根据用户输入以不同的方式对其进行打包。基本上,用户应该自己选择组件,他希望添加到WAR中,并为这些组件定义一些简单的配置 我需要做的是: 创建一个不包含任何maven的“轻量级”安装程序 工件(或者,如果不可能,则包含所有工件=“重量级”installator) 当最终用户启动installator时,会要求他提供要打包的组件列表(=复选框) 对于每个组件,installa

有人问过类似的问题,但我有类似的情况

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

我需要做的是:

  • 创建一个不包含任何maven的“轻量级”安装程序 工件(或者,如果不可能,则包含所有工件=“重量级”installator)
  • 当最终用户启动installator时,会要求他提供要打包的组件列表(=复选框)
  • 对于每个组件,installator要求提供配置选项(然后保存为.property文件,每个组件一个)
  • 然后,Installator只获取所需的工件(由用户选择+必须的工件),并将这些工件中的属性文件替换为步骤3中的属性文件(或将它们放在“classes/”)
  • 最后,它创建现成的WAR包,并(可选)在后台启动tomcat(或jetty)

  • IzPack仅帮助解决步骤2。但是有什么通用的解决方案吗?

    我不知道有什么通用的解决方案可以做到这一点,特别是一些可以打包定制战争的解决方案。IzPack可以收集安装参数(可能有助于解决步骤3),IzPack有一个名为的高级功能,可以帮助解决步骤4,但据我所知,它不是一个构建/打包工具,因此它不包括步骤5(最重要的)

    也许maven原型可以在这里提供帮助(以交互模式)。但我甚至不确定原型是否能提供您所需要的灵活性。换言之,这并不简单


    事实上,在你的情况下,我认为蚂蚁(带或常春藤)是最好的选择。我知道这不是您要求的,但我不认为Maven是适合您的用例的合适工具

    感谢您提供有关WebInstaller的信息-这是我不知道的。我建议:1。安装程序由用户获取并运行。然后它:2。检查是否安装了maven。否则,它会将maven解压到temp目录。3.执行mvn scm:checkout-DconnectionUrl=scm:svn:-DcheckoutDirectory=service4。请求所需的模块并在刚刚签出的“服务”目录5中生成(更新)POM文件。请求其他选项并生成.property文件6。执行mvn包在这种情况下使用IzPack有意义吗?@dma_k嗯,这不是一个简单的用例,因此需要测试,但是。。。大概