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

问题描述 投票:0回答:3

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

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

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

java maven spring-boot swagger-codegen
3个回答
0
投票

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

  • 它已经在包装阶段构建。
  • 它已被本地存储库中的插件复制到那里。

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


0
投票

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

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


-1
投票

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

我正在构建一个Web服务器

意味着你正在创建一个REST服务?

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

意味着你(可能)有客户端的单元测试,并希望使用 - 和集成测试 - 集成测试中的这个客户端作为一个模块?

我建议你

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

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

© www.soinside.com 2019 - 2024. All rights reserved.