启动Micronaut项目时WindowsAnsiOutputStream类找不到报错修复咨询
解决IntelliJ中Micronaut启动时的
org.fusesource.jansi.WindowsAnsiOutputStream类找不到问题 我之前启动Micronaut项目时也碰到过一模一样的报错——虽然项目能正常运行,但控制台飘着个ClassNotFoundException确实看着别扭。这个类属于Jansi库,主要用来优化Windows终端的ANSI颜色输出,下面几个方法应该能帮你彻底解决:
手动添加Jansi依赖
这个报错最常见的原因就是项目依赖中缺少了Jansi库。根据你用的构建工具,在配置文件里添加对应的稳定版本依赖:- Gradle(build.gradle):
implementation 'org.fusesource.jansi:jansi:2.4.0' - Maven(pom.xml):
<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>2.4.0</version> </dependency>
添加完后记得刷新IntelliJ的依赖同步(点击Gradle/Maven面板的刷新按钮,或者用快捷键
Ctrl+Shift+O)。如果已经有这个依赖,检查下版本是不是太旧,换成2.x的稳定版本试试。- Gradle(build.gradle):
禁用ANSI输出(快速临时方案)
如果你暂时不想调整依赖,可以直接让Micronaut跳过ANSI输出的处理,这样就不会加载这个类了:- 打开IntelliJ的Run Configuration
- 在VM options里添加参数:
-Djansi.passthrough=false
或者在application.yml中配置:
micronaut: logging: console: ansi: off刷新IntelliJ的依赖缓存
有时候IntelliJ的依赖缓存会出问题,导致明明添加了依赖却找不到类。可以试试:- 点击File -> Sync Project with Gradle Files(或Maven对应的同步选项)
- 或者删除
.idea文件夹和build/target目录,重新导入项目
检查JDK版本兼容性
确保项目使用的JDK版本和Jansi库兼容,JDK 8及以上版本搭配Jansi 2.x是没问题的,如果用的是老旧JDK,可能需要调整Jansi版本或者升级JDK。
一般来说,添加Jansi依赖就能解决问题,如果还是不行,试试禁用ANSI输出的方案,亲测有效。
内容的提问来源于stack exchange,提问作者Andrew S.
相关产品推荐
相关产品推荐

