如何从io.micronaut.application插件中排除io.micronaut.docker插件
解决io.micronaut.application与docker-remote-api的插件冲突
冲突根源是io.micronaut.application插件会自动加载MicronautDockerPlugin,它创建的docker扩展和com.bmuschko.docker-remote-api插件的docker扩展重名。只需禁用Micronaut自带的Docker插件即可,无需替换application插件(这样就能继续使用micronaut-management包):
修改build.gradle配置:
plugins { id 'com.bmuschko.docker-remote-api' version '9.3.1' id 'io.micronaut.application' version '3.7.2' } // 排除Micronaut内置的Docker插件,避免扩展重名冲突 gradle.startParameter.excludedPluginIds.add('io.micronaut.docker')
解决io.micronaut.minimal.application的依赖缺失问题
使用minimal插件时找不到micronaut-inject,是因为minimal插件不会自动引入Micronaut BOM来统一管理依赖版本,解决方法有两种:
方法1:引入Micronaut BOM(推荐)
在根项目的依赖块中添加BOM,所有Micronaut组件的版本会自动对齐micronautVersion:
dependencies { implementation platform("io.micronaut:micronaut-bom:${micronautVersion}") // 保留原有其他依赖... }
方法2:直接指定依赖版本
给micronaut-inject明确添加版本号:
implementation "io.micronaut:micronaut-inject:${micronautVersion}"
另外,micronaut-management并非只能通过io.micronaut.application插件获取,使用minimal插件时只需手动声明依赖即可:
implementation "io.micronaut:micronaut-management:${micronautVersion}"
内容的提问来源于stack exchange,提问作者samar ranjan Nayak
相关产品推荐
相关产品推荐

