包含来自目标文件夹的 Maven 依赖项
Include maven dependency from target folder
我正在使用 Java Spring Boot 构建 Web 服务器,并使用 swagger-codegen 生成其余客户端以供其他项目使用。
我想在我的集成测试中测试 rest-client,但是在我的 target
目录(初始构建之后)中包含一个 maven 项目/jar,在我的项目的 POM 中似乎是不可能的.
是否可以使用这个新的依赖项构建这些测试?
我需要做一些假设,如果我完全错了请告诉我。
I'm building a web server
表示您正在创建 REST
服务?
I want to test the rest-client in my integration tests
意味着您(可能)对客户端进行了单元测试,并希望在集成测试中将此客户端作为一个模块使用和集成测试?
我建议你
- 为客户创建(如果尚未创建)一个单独的项目。
- 将其安装到您的本地存储库,例如:
mvn install
- 将此已安装的工件作为依赖项添加到您需要的任何地方,例如在与服务的集成测试中。
我真的不建议 从目标文件夹中包含 maven 依赖项 但不能说在某些情况下它是否绝对必要...
目标文件夹中的 jar 以两种方式到达该位置:
- 已在打包阶段构建。
- 它已被插件从本地存储库复制到那里。
无论哪种方式,您都不应该使用目标中的文件。相反,将依赖项(真正的依赖项或 pom 中的项目)添加到服务器的测试依赖项中。 运行 你在整合阶段的测试。
我最终创建了一个多模块项目,一个用于服务器,一个用于其余客户端(取决于服务器)和一个用于集成测试(取决于其余客户端)
每个模块都有自己的 pom 文件,并且有自己的构建/发布阶段。虽然我仍然无法让顶级 mvn clean install
工作(这是设置我们的网络应用程序的标准),但我能够在 bash 脚本中使用多个 mvn 命令进行协调安装.
我正在使用 Java Spring Boot 构建 Web 服务器,并使用 swagger-codegen 生成其余客户端以供其他项目使用。
我想在我的集成测试中测试 rest-client,但是在我的 target
目录(初始构建之后)中包含一个 maven 项目/jar,在我的项目的 POM 中似乎是不可能的.
是否可以使用这个新的依赖项构建这些测试?
我需要做一些假设,如果我完全错了请告诉我。
I'm building a web server
表示您正在创建 REST
服务?
I want to test the rest-client in my integration tests
意味着您(可能)对客户端进行了单元测试,并希望在集成测试中将此客户端作为一个模块使用和集成测试?
我建议你
- 为客户创建(如果尚未创建)一个单独的项目。
- 将其安装到您的本地存储库,例如:
mvn install
- 将此已安装的工件作为依赖项添加到您需要的任何地方,例如在与服务的集成测试中。
我真的不建议 从目标文件夹中包含 maven 依赖项 但不能说在某些情况下它是否绝对必要...
目标文件夹中的 jar 以两种方式到达该位置:
- 已在打包阶段构建。
- 它已被插件从本地存储库复制到那里。
无论哪种方式,您都不应该使用目标中的文件。相反,将依赖项(真正的依赖项或 pom 中的项目)添加到服务器的测试依赖项中。 运行 你在整合阶段的测试。
我最终创建了一个多模块项目,一个用于服务器,一个用于其余客户端(取决于服务器)和一个用于集成测试(取决于其余客户端)
每个模块都有自己的 pom 文件,并且有自己的构建/发布阶段。虽然我仍然无法让顶级 mvn clean install
工作(这是设置我们的网络应用程序的标准),但我能够在 bash 脚本中使用多个 mvn 命令进行协调安装.