Jersey “Auto-Discoverable Features” 在 Maven 编译后失效
Maven 编译 失效 Auto Features jersey
2023-09-14 08:59:41 时间
原本 Jersey "Auto-Discoverable Features"(自动发现功能)中 JSON 解析在 eclipse 右键运行项目是正常的,但用 Maven 编译成 jar 后运行,就无法使用 JSON 解析了
Jersey "Auto-Discoverable Features"Jersey "Auto-Discoverable Features"(自动发现功能)。默认情况下 Jersey 2.x 不隐式注册在 classpath 上可用的模块中的任何扩展功能,除非明确在扩展文档中进行说明。用户将明确注册的扩展功能来使用他们的 Application 子类。一小部分 Jersey 提供模块不需要显式注册他们的扩展功能,因为这些在配置(客户端/服务器)中将会被Jersey 运行时发现和注册,这些功能模块实现的这些特性将呈现在 JAX-RS 应用部署的 classpath 上。这些自动发现模块包括:
来自 jersey-media-moxy 的 JSON 绑定特性 jersey-media-json-processing jersey-bean-validation也就是说,当我使用 jersey-media-moxy 的 JSON 解析时,理论上我并不需要注册 JSON 解析。其中 jersey-media-moxy 的依赖为:
dependency groupId org.glassfish.jersey.media /groupId artifactId jersey-media-moxy /artifactId version 2.21 /version /dependency
也许是 Maven 编译机制的问题,程序无法自动发现功能,可以采用手动注册的方式,在 ResourceConfig 配置中进行注册 MoxyJsonFeature,如下:
/** * REST 主应用 * @author waylau.com * 2015年9月18日 */ public class RestApplication extends ResourceConfig { public RestApplication() { // 资源类所在的包路径 packages("com.waylau.rest.resource"); // 注册 MultiPart register(MultiPartFeature.class); // 注册 CORS过滤器 register(CrossDomainFilter.class); // 注册 JSON register(MoxyJsonFeature.class); // 注册 SSE register(SseFeature.class);《Jersey 2.x 用户指南》 第四章
相关文章
- IDEA Maven项目 编译的问题
- 【maven】IDEA:存在jar包,pom.xml文件没报错,但是Maven-Project-Dependencies有红线报错
- Maven聚合工程的使用
- maven常用命令
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理 maven找不到符号
- maven中如何打包源代码
- spring + springmvc + jdbc + quartz + maven整合
- 【技术贴】Maven打包文件增加时间后缀
- 解决maven创建web项目卡死在generator插件(转)
- Maven - Maven基础概念和操作总结
- 使用maven编译Java项目
- maven编译时错误:无效的目标发行版
- 配置maven mvn命令使用jdk 1.7编译
- What happened when we perform Maven Update Project in Eclipse
- maven 总结
- Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- IDEA/MAVEN编译错误:不兼容的类型,推断类型不符合上限
- 2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
- 使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法
- Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案
- Maven项目Run As无Run On Server的解决方法
- maven聚合项目以及使用dubbo远程服务调用debug操作。
- [Maven in action] 解决办法:eclipse中update project之后jre被改成1.5的问题
- Maven deploy 报错: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:deploy (default-deploy) on project Failed to retrieve remote metadata /maven-metadata.xml
- NetBeans IDE集成Maven
- CI流水线中制品库集成 maven编译过后包上传
- IntelliJ IDEA 创建 SpringBoot 项目 Maven 打包 jar