默认 jersey-server 和 springboot 2 和 spring 5 附带的其他相关 jersey 依赖 jar 是 jersey-server-2.6 ,但是当我尝试将 swagger-jersey2-jaxrs 依赖添加到我的 maven 项目时 jersey-server 依赖被覆盖到 jersey-server-2.25.1 。因此,我的应用程序无法启动并出现以下错误。如果我删除依赖应用程序运行正常。添加依赖项<dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <scope>compile</scope> <version>1.5.22</version> </dependency>我得到的错误{ "timestamp": "2019-03-01T08:10:03.918+0000", "status": 500, "error": "Internal Server Error", "message": "org.glassfish.jersey.server.spring.SpringComponentProvider.initialize(Lorg/glassfish/hk2/api/ServiceLocator;)V", "path": "/helloworld/v1/service/hello"}我的问题是,swagger-jersey2-jaxrs 与 springboot 2 和 spring 5 的兼容版本是什么。我可能做错了什么吗?有没有人尝试过将 swagger-jersey2-jaxrs 与 spring boot 2 和 spring 5 一起使用除了 maven 排除标签之外,还有其他方法可以排除/覆盖来自 swagger codegen 的 jersey 依赖项吗?我曾尝试使用排除,但似乎有很多球衣依赖项。我观察到的另一点是在我之前的项目中,其中 SB 版本是 1.5,依赖是兼容的,而且一切都很好。
1 回答

隔江千里
TA贡献1906条经验 获得超10个赞
在尝试了一段时间而不是上面提到的swagger-jersey2-jaxrs依赖项之后,我在依赖项下面使用它解决了问题,因为下面的依赖项不会覆盖 Jersey-server 依赖项,因此我的应用程序现在运行良好
<dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jaxrs</artifactId> <version>1.5.22</version> <exclusions> <exclusion> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> </exclusion> </exclusions> </dependency>
添加回答
举报
0/150
提交
取消