【发布时间】:2011-09-21 13:34:37
【问题描述】:
我正在将基于 Ant 的项目转换为可由 Maven 构建。标准构建目前正在运行。我正在尝试迁移在原始 Ant 构建描述符中指定的其他构建目标。我们的项目可以部署为桌面应用程序或 Web Start 可启动客户端。您可以使用 dist 自然调用原始 Ant 文件,它只是构建项目但不为 web 启动做后期处理,还有一个专门的 JWS 目标调用 dist,然后进行 jar 签名和重新排列分发文件为可轻松部署到 Web 服务器。
我发现 Maven 有一个用于进行代码签名的 Jarsigner 插件。我的项目当前构建核心 jar,将所有工件依赖项复制到目标,为核心 jar 创建正确的清单文件,并将配置工件解压缩到 target/(这包含各种东西,如 XML 和属性文件)。但是我不知道如何在 Maven 描述符中添加以下附加步骤:
- 签署所有 jar 文件(也包括外部依赖项),同时删除现有的签名。
- 将生成的 jar 文件重新排列到不同的目录布局。我还需要为此配置编辑 XML 文件,并将它们打包到需要签名的配置 jar 中。
修改后的项目必须是可构建的标准方式。所以 Web Start 构建必须是可选的。我应该注意到我们正在使用 NetBeans 来构建/调试/分析应用程序。
我有点迷失如何使用 Maven 实现这些目标。有人可以提出一些建议,我应该如何前进?
【问题讨论】:
-
我有一个想法,因为您已经有一个可以进行签名/重新排列的特定 ant 目标 JWS,您可以利用该部分并使用 mavne-ant-run 插件来执行该 ant 脚本作为您的一部分Maven 构建。
-
我只是在万不得已的情况下才这样做。如果可能的话,我想以“Maven 方式”解决这个问题。也许我还没有看到,但我可以通过创建一个对核心项目具有依赖关系的新模块并在那里执行额外的(并且这种方式是可选的)步骤来做到这一点。
标签: java maven jar code-signing