从另一个Maven项目测试带有包含/排除类的mvn阴影插件超级jar

时间:2019-09-30 09:32:08

标签: java maven

我有一个maven构建配置,其中包括一些类,并且排除了我们不想包含在阴影jar中的一堆依赖项。

构建正常,并且我们有一个可执行jar。我现在有另一个maven项目,其中包含一组测试,该项目依赖于带有阴影插件的Maven项目。

我想测试阴影罐是否能够运行我的测试套件。但是:

  1. 当我以maven install / exec的身份运行时,依赖项不是来自阴影jar,而是包含我专门删除的类
  2. 当我打包带阴影的jar和测试套件时,测试套件从m2存储库中提取,并包含我专门删除的类。

如何通过maven命令测试jar? 谢谢

编辑-

我的集成测试包括三个依赖项,所有这些依赖项都用于运行端到端测试。为了清楚起见,我的项目结构如下:

integration-tests (cucumber test suite)
  |_ module 1 (executable jar with custom dependency inclusion/exclusion)
    |_ module 4
    |_ module 5
  |_ module 2 (executable jar)
  |_ module 3 (executable jar)

当我构建和运行集成测试时,模块1的依赖项来自m2存储库。实际上,我实际上想对带有包含/排除类的打包jar运行测试,以确保mvn打包删除了排除项后它可以正常工作。

编辑2-

我已经为项目(junit类型)添加了集成测试。作为maven集成测试阶段,此操作成功运行。但是,当我从maven-shade-plugin包含列表中删除测试所需的某些类时,测试仍会通过(在包之后运行)。

我如何测试集成将在带阴影的jar中成功运行?我是否需要设置测试以实际启动和测试jar的输出?

0 个答案:

没有答案
相关问题