在构建时,maven应在步骤1和3调用spring boot maven插件。我可以避免警告吗;找到插件“的重复声明?”;?
我有一个Maven构建,它有三个步骤:在构建时,maven应在步骤1和3调用spring boot maven插件。我可以避免警告吗;找到插件“的重复声明?”;?,maven,Maven,我有一个Maven构建,它有三个步骤: spring boot maven插件:在集成测试开始时启动我的应用程序,在集成测试结束时停止它 springdoc openapi maven插件:在集成测试期间,要求openapi(=Swagger)从应用程序中现有的REST方法生成yaml文件 springbootmaven插件:创建springboot应用程序的可执行FATJAR org.springframework.boot springbootmaven插件 预集成测试 预集成测试
yaml
文件
springboot
应用程序的可执行FATJAR
org.springframework.boot
springbootmaven插件
预集成测试
预集成测试
开始
整合后测试
整合后测试
停止
org.springdoc
springdoc openapi maven插件
${springdoc openapi maven plugin.version}
集成测试
生成
http://localhost:9090/v3/api-文件
openapi.json
${project.build.directory}/openapi
org.springframework.boot
springbootmaven插件
重新包装
真的
springbootmaven插件
被调用两次,而不是在同一个maven阶段,并且在调用之间使用了一个“外来”maven插件
有没有一种方法可以避免关于重复使用springbootmaven插件的警告
[WARNING] Some problems were encountered while building the effective model for fr.comptes.france:application-metier-et-gestion:jar:0.0.6-SNAPSHOT
[WARNING] 'build.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.springframework.boot:spring-boot-maven-plugin @ line 191, column 12
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
永远不要声明一个插件两次
相反,在插件定义中定义不同的执行。这些执行可能处于不同的阶段。@JFabianMeier:是的。最终,我成功地重新设计了springbootmaven插件
执行流程:
org.springframework.boot
springbootmaven插件
预集成测试
预集成测试
开始
整合后测试
整合后测试
停止
可执行jar
安装
重新包装
真的
为什么要通过“构建为集成”测试启动应用程序?您可以使用@SpringBootTest等。问题是您正在编写的集成测试是哪种类型的,不能通过使用@SpringBootTest?@khmarbaise来处理?哦,是的。这很棘手,对不起!实际上,这里的集成测试并不是真正的集成测试!它的目标是在构建时启动应用程序,使其成为OpenAPI工具生成描述其REST服务的yaml
文件所需的服务器。稍后,我的应用程序的客户端将使用此yaml
文件来构建对其REST服务的访问。据我所知,这也可以通过集成测试实现。。。例如,见