从目标文件夹中包含maven依赖项

时间:2017-12-05 15:53:50

标签: java maven spring-boot swagger-codegen

我正在使用Java Spring Boot构建Web服务器,并使用swagger-codegen为其他项目生成其余客户端。

我想在我的集成测试中测试rest-client,但是在我的target目录中(在初始构建之后)包含一个maven项目/ jar,在我的项目的POM中似乎不可能。

是否可以使用此新依赖项构建这些测试?

3 个答案:

答案 0 :(得分:0)

目标文件夹中的jar以两种方式到达该位置:

  • 它已经在包装阶段构建。
  • 已经通过本地存储库中的插件复制了它。

无论哪种方式,您都不应该使用目标中的文件。而是将依赖项(pom中的真实依赖项或项目)添加到服务器的测试依赖项中。在集成阶段运行测试。

答案 1 :(得分:0)

我最终创建了一个多模块项目,一个用于服务器,一个用于其余客户端(取决于服务器),另一个用于集成测试(取决于其余客户端)

每个模块都有自己的pom文件,它自己构建/发布的阶段。虽然我仍然无法获得顶级mvn clean install(这是设置我们的网络应用程序的标准),但我能够在bash脚本中使用多个mvn命令进行协调安装。 / p>

答案 2 :(得分:-1)

我需要做一些假设,所以请告诉我,如果我完全错了。

  

我正在构建一个Web服务器

表示您正在创建REST服务?

  

我想在集成测试中测试rest-client

意味着您(可能)对客户端进行单元测试并希望使用 - 和集成测试 - 集成测试中的此客户端作为一个模块?

我建议你

  • 为客户创建(如果尚未创建)单独的项目。
  • 将其安装到您的本地仓库,例如:mvn install
  • 将此已安装工件作为依赖项添加到您需要的任何位置,例如在使用service进行集成测试时。

我真的不建议包含来自目标文件夹的maven依赖,但不能说在某些情况下是否绝对必要尽管......