Quarkus无法识别外部Jar中JaxRs接口的@Path注解问题咨询
外部Jar中JAX-RS接口@Path注解失效问题解析
结论
这是Quarkus的预期行为,并非Bug。
原因说明
Quarkus默认仅扫描当前应用项目内的类来识别JAX-RS端点。对于外部Jar依赖中的JAX-RS接口,若未额外配置,Quarkus不会自动识别接口上的@Path、@POST等JAX-RS注解。
- 当接口放在本地项目时,属于应用自身代码,会被Quarkus的扫描机制覆盖,接口上的
@Path能正常生效; - 当接口作为外部Jar依赖时,默认不在扫描范围内,实现类若未自行添加
@Path,Quarkus无法识别该端点,因此访问时返回404。
可行解决方案
除你已尝试的两种方式外,还有更通用的配置方案:
- 在项目的
application.properties中添加包扫描配置,指定外部Jar中JAX-RS接口所在的包:
将quarkus.jaxrs.scan-packages=com.example.notesapicom.example.notesapi替换为实际的接口所在包路径,这样Quarkus就会扫描该包下的JAX-RS注解,接口上的@Path就能正常作用于实现类。
内容的提问来源于stack exchange,提问作者zolv
相关产品推荐
相关产品推荐

