Quarkus开发模式启动失败求助:多异常排查(Mac环境)
解决Quarkus开发模式启动失败的多异常问题
环境信息
- Quarkus 2.16.7
- Maven 3.9.2
- Java 11
- macOS
核心异常
启动开发模式时触发三个关键错误:
- 无法加载
io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider java.lang.ClassNotFoundException: io.smallrye.mutiny.vertx.TypeArgjava.lang.IllegalStateException: HttpBinderConfiguration was not found
分步解决方案
1. 修复Netty DNS本地库缺失问题
日志明确提示缺少io.netty:netty-resolver-dns-native-macos依赖,直接在pom.xml中添加:
<dependency> <groupId>io.netty</groupId> <artifactId>netty-resolver-dns-native-macos</artifactId> <!-- Intel Mac用osx-x86_64,Apple Silicon用osx-aarch_64 --> <classifier>osx-x86_64</classifier> <scope>runtime</scope> </dependency>
添加完执行mvn clean install刷新依赖。
2. 解决SmallRye Mutiny类找不到的问题
io.smallrye.mutiny.vertx.TypeArg是Mutiny与Vertx集成的核心类,要么直接加对应的集成依赖:
<dependency> <groupId>io.smallrye.reactive</groupId> <artifactId>smallrye-mutiny-vertx-web</artifactId> <version>2.23.0</version> <!-- 适配Quarkus 2.16.7的版本 --> </dependency>
要么更稳妥地用Quarkus官方的Vertx扩展(自动适配版本):
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-vertx-web</artifactId> </dependency>
之后执行mvn clean quarkus:dev重启开发模式。
3. 修复HttpBinderConfiguration未找到问题
这个错误来自Micrometer的Vertx绑定器,说明Micrometer依赖或配置不全。先确保引入Quarkus的Micrometer扩展:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-micrometer</artifactId> </dependency>
然后在application.properties里开启HTTP绑定器(如果没配置的话):
quarkus.micrometer.binder.http.enabled=true
最后清理缓存重启:mvn clean quarkus:dev
额外排查建议
- 用
mvn dependency:tree检查依赖冲突,确保所有依赖版本和Quarkus 2.16.7兼容 - 如果还是有问题,清理Maven本地缓存:
rm -rf ~/.m2/repository/io/netty/和rm -rf ~/.m2/repository/io/smallrye/,然后重新拉取依赖
内容的提问来源于stack exchange,提问作者Abdul
相关产品推荐
相关产品推荐

