如何测试 Maven 程序集目录的内容是否正确?

How can I test if the contents of a maven assembly dir are correct?

我正在通过程序集构建一个复杂的服务器 (tomcat) 结构,包含库、部署、数据源设置...

我想在部署前测试 dir/zip 的内容,确保一切都在正确的位置并具有正确的筛选属性。

我如何应用(单元)测试来分析目录并断言某些文件存在且内容正确?

我建议创建一个在打包阶段之后运行的集成测试。这可以通过可以绑定到 integration-test 阶段的 maven-failsafe-plugin 来处理。您当然需要遵循 maven-failsafe-plugin 的命名约定。

要访问生成的文件,您可以使用为 maven-failsafe-plugin 配置提供的系统 属性。喜欢:

<systemPropertyVariables>
  <fileName>${project.build.finalName}</fileName>
  <folder>${project.build.outputDirectory}</folder>
</systemPropertyVariables>

如果您使用单独的模块创建这些分发工件,这将给出生成的工件的完整文件名。我不是 100% 确定基于程序集描述符文件中的 <id>..</id> 创建的分类器如何。

folder 将为您提供创建工件的位置。

您可能还对以下内容感兴趣plugin