创建具有所有依赖项的测试jar

时间:2019-02-28 15:39:34

标签: java maven executable-jar maven-shade-plugin maven-jar-plugin

我有以下项目结构。

  • src / test / java

没有src / main文件夹。

上面的src / test / java文件夹包含一些scala类以及一些Java类。当我使用以下插件构建jar文件时

  • maven-jar-plugin:它生成测试jar文件,但该jar文件中不包含依赖项
  • maven-shade-plugin:此插件生成不带测试后缀的jar文件,并将所有依赖项包含在生成的jar中。

请建议

如何生成“ tests” jar,其中包含所有依赖项,但未打包。                    要么 在这种情况下,如何使用src / test / java文件夹下的所有类以及测试类所需的所有依赖项来生成jar文件

1 个答案:

答案 0 :(得分:1)

是的,空手道测试通常使用src/test/java以下的代码。除非您将所有东西连接起来以运行测试,否则您不能置于src/test/main下,可能是通过点击spring boot控制器来启动它们。然后,在Docker容器中,您可以从运行的Spring Boot应用程序开始测试。这是非常不标准的,我不建议您这样做。

相反,我只是从Maven docker映像开始,并构建您自己的映像,该映像知道如何将测试文件(未jard)复制到映像中,然后您就无需将其全部.jar打包。我在这里做了一个示例(https://github.com/djangofan/karate-test-prime-example),通过正确处理docker退出代码完成

空手道站点上有一些文档可用于制作独立的空手道罐,但有关如何执行此操作的细节的文档则很少。我敢打赌,如果您知道怎么做,它将奏效。但是,这比我上面给出的Docker示例要困难得多。

相关问题