追根溯源,终于找到了Jansi。Jansi 是一个小型的 ASL 2.0 许可的 Java 库,它允许您使用 ANSI 转义序列来格式化您的控制台输出。 下面分享一下Jansi的简单使用和我自己封装方法,以及随机输出颜色的文本的方法封装(这个我又强行一行代码实现了),先来一张效果图 FunTester彩色输出 依赖 Gradle // https ://mvnrepository.com/artifact/org.fusesource.jansi/jansi implementation group: 'org.fusesource.jansi ', name: 'jansi', version: '2.4.0' Maven <! -- https://mvnrepository.com/artifact/org.fusesource.jansi/jansi --> <dependency> <groupId>org.fusesource.jansi
Reasons: [no jansi in java.library.path, 系统找不到指定的路径。] 解决办法:将jansi.dll文件放到C:\Windows\System32目录下即可。 注意:jansi.dll文件在使用gradle编译打包cas时会下载到C:\Users\${用户名}\.gradle\native\jansi\1.14\windows64 【参考】 http://stackoverflow.com /questions/35436362/no-jansi-in-library-path No jansi in library.path
|State |Level|Name 0|Active | 0|System Bundle (6.0.1)|6.0.1 1|Active | 1|jansi |State |Level|Name 0|Active | 0|System Bundle (6.0.1)|6.0.1 1|Active | 1|jansi |State |Level|Name 0|Active | 0|System Bundle (6.0.1)|6.0.1 1|Active | 1|jansi |State |Level|Name 0|Active | 0|System Bundle (6.0.1)|6.0.1 1|Active | 1|jansi |State |Level|Name 0|Active | 0|System Bundle (6.0.1)|6.0.1 1|Active | 1|jansi
</encoder> </appender> # 只加这个参数是不行的,还要导入一个jar包pom 如下: <dependency> <groupId>org.fusesource.jansi </groupId> <artifactId>jansi</artifactId> <version>1.17.1</version> </dependency> # 三、总结 内事不决问百度
Windows操作系统中,Windows Terminal支持此标准,Windows Cmd、Windows PowerShell 5.1及以下不支持,需要借助jansi库。 --在Windows Cmd、PowerShell中显示ansi颜色必备;Linux / macOS原生支持 ANSI,Jansi 透传 --> <dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version 例如:package org.example.springboot; import lombok.extern.slf4j.Slf4j; import org.fusesource.jansi.AnsiConsole
添加依赖包 在%HBASE_HOME%/lib 目录下添加以下依赖包 htrace-core4-4.2.0-incubating.jar htrace-core-3.1.0-incubating.jar jansi falling back to unsupported java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32
添加依赖包 在%HBASE_HOME%/lib 目录下添加以下依赖包 htrace-core4-4.2.0-incubating.jar htrace-core-3.1.0-incubating.jar jansi falling back to unsupported java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32
-3.5.2/lib/jansi-native/linux32/ apache-maven-3.5.2/lib/jansi-native/linux64/ apache-maven-3.5.2/lib/ jansi-native/osx/ apache-maven-3.5.2/lib/jansi-native/windows32/ apache-maven-3.5.2/lib/jansi-native/ windows64/ apache-maven-3.5.2/lib/jansi-native/freebsd32/libjansi.so apache-maven-3.5.2/lib/jansi-native /jansi-native/linux64/libjansi.so apache-maven-3.5.2/lib/jansi-native/osx/libjansi.jnilib apache-maven -3.5.2/lib/jansi-native/windows32/jansi.dll apache-maven-3.5.2/lib/jansi-native/windows64/jansi.dll apache-maven
client 0.7.1-windows-amd64 (97c587c11383a67b5bd0ff8388bd94c694b91c1e) Terminal: org.jline.terminal.impl.jansi.win.JansiWinSysTerminal
On Windows machines setting withJansi to true enables ANSI color code interpretation by the Jansi This requires org.fusesource.jansi:jansi:1.8 on the class path.
client 0.7.1-windows-amd64 (97c587c11383a67b5bd0ff8388bd94c694b91c1e) Terminal: org.jline.terminal.impl.jansi.win.JansiWinSysTerminal
client 0.7.1-windows-amd64 (97c587c11383a67b5bd0ff8388bd94c694b91c1e) Terminal: org.jline.terminal.impl.jansi.win.JansiWinSysTerminal
Final (compile) [INFO] │ │ ├─ org.aesh:readline:jar:2.2 (compile) [INFO] │ │ │ └─ org.fusesource.jansi :jansi:jar:1.18 (compile) [INFO] │ │ ├─ org.aesh:aesh:jar:2.6 (compile) [INFO] │ │ ├─ org.apache.commons
比如,可以使用 log4j2.skipJansi 系统属性来配置 Console Appender 是否在 Windows 上使用 Jansi 输出流。
noarch 4.0.0-4.oe2203sp3 everything 151 k jansi noarch 1.17.1-2.oe2203sp3 everything 74 k jansi-native
在windows中,需要提供"org.fusesource.jansi:jansi:1.9",而在linux,mac os x中默认支持。
Jansi - ANSI escape codes to format console output.