如何在Quarkus扩展中使用非Quarkus BOM中的依赖?
在Quarkus扩展中引入quarkus-logging-json依赖的正确方式
由于quarkus-logging-json是Quarkiverse社区维护的扩展,不在Quarkus官方BOM中,直接硬写版本号虽然能运行,但更稳妥的做法是通过引入对应BOM来统一管理版本,避免后续版本冲突。以下是具体步骤:
引入Quarkiverse Logging JSON的BOM
在你的扩展项目pom.xml的<dependencyManagement>块中添加BOM依赖,这样能自动对齐版本,不用手动指定quarkus-logging-json的版本:<dependencyManagement> <dependencies> <dependency> <groupId>io.quarkiverse.loggingjson</groupId> <artifactId>quarkus-logging-json-bom</artifactId> <version>3.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>添加quarkus-logging-json依赖
之后在<dependencies>块中添加依赖时,就不需要写版本号了:<dependency> <groupId>io.quarkiverse.loggingjson</groupId> <artifactId>quarkus-logging-json</artifactId> </dependency>注意版本兼容性
务必保证你选用的quarkus-logging-json版本和Quarkus核心版本匹配——比如Quarkus 3.x系列对应quarkus-logging-json3.x系列,版本不匹配很可能引发类加载异常或功能失效。传递性控制(按需选择)
- 如果希望使用你扩展的应用自动继承
quarkus-logging-json依赖,保持默认的compile作用域即可; - 若只是你的扩展内部使用该依赖,不需要传递给下游应用,可以将依赖的
<scope>设为provided,但此时下游应用若需要该功能得自行添加依赖。
- 如果希望使用你扩展的应用自动继承
你之前直接指定版本的方式也能生效,但引入BOM能让版本管理更清晰,后续升级Quarkus时也更容易同步依赖版本。
内容的提问来源于stack exchange,提问作者Piotr Ławniczek
相关产品推荐
相关产品推荐

