栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jersy / Jetty服务器的MessageBodyWriter找不到错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jersy / Jetty服务器的MessageBodyWriter找不到错误

正如我在从命令行运行jar时在MessageBodyProviderNotFoundException中的回答中所提到的,有一个“服务文件”,即

org.glassfish.jersey.internal.spi.AutoDiscoverable
,它包含在许多jar中。该文件的目的是允许Jersey(和其他第三方)罐子提供对这些罐子中包含的功能的一些自动注册。这包括的注册
JacksonFeature
,用于注册处理(反序列化)的JSON提供程序。

创建胖(超级)罐子的问题是只能有一个文件(您不能有多个同名文件)。因此,对于胖罐中包含的所有罐,将仅包含一个服务文件。

对于Maven,我们将使用maven-shade-
plugin,该插件具有允许转换构建部分的转换器。阴影插件具有

ServicesResourceTransformer
,可将服务文件的内容串联到一个服务文件中。用于Gradle的Shadow插件具有相同的功能。您可以通过调用配置来配置它
mergeServiceFiles()
。我并没有真正使用Gradle,但在本期中也作了介绍,建议使用以下配置来处理服务文件转换和主类清单转换

shadowJar {  mergeServiceFiles()  manifest {    attributes 'Main-Class': 'com.my.Application'  }}

所以我假设,使用上述配置,您还可以删除

jar { manifest { attributes 'Main-Class': "${mainClassName}" } }

因为Shadow插件将负责构建清单。再说一次,我并没有真正使用Gradle,所以这只是一个假设。但是听起来不错。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419327.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号