我正在将基于Ant的项目转换为可由Maven构建。标准版本现在正在运行。我正在尝试迁移原始Ant构建描述符中指定的其他构建目标。我们的项目可以部署为桌面应用程序或Web Start可启动客户端。您可以使用dist自然地调用原始Ant文件,这只是构建项目但不进行Web启动的后期处理,并且还有一个专用的JWS目标,它调用dist,然后执行jar签名并重新安排分发文件可以轻松部署到Web服务器。
我发现Maven有一个用于代码签名的Jarsigner插件。我的项目目前构建核心jar,将所有工件依赖项复制到目标,为核心jar创建正确的清单文件,并将配置工件解包到目标/(这包含各种内容,如XML和属性文件)。但是我不知道如何适应Maven描述符以下附加步骤:
修改后,项目必须以标准方式构建。因此Web Start构建必须是可选的。我应该注意,我们正在使用NetBeans来构建/调试/分析应用程序。
我有点失去了如何用Maven实现这些目标。有人可以提出一些建议我应该如何前进?
答案 0 :(得分:0)
我用这种方式解决了我的问题:
我为Web Start客户端配置创建了一个新的jar模块。在构建期间,Maven只将原始配置工件的那些部分解包到Web Start所需的构建目录中(您可以为dependency-unpack插件指定过滤规则)。然后我使用Maven XML插件使用XSLT模板修改XML文件。最后,Maven负责将所有这些打包到Web Start客户端配置工件中。
我还为实际的Web启动客户端构建创建了一个仅用于pom的模块。此项目没有经典工件输出,因此只有POM安装到工件存储库。此模块具有源代码(不包括原始配置)和Web启动客户端工件的依赖项。我正在使用Maven的依赖项复制功能将jar文件排列在目标目录中的正确结构中。最后,我正在使用Maven jarsigner签署所有罐子。