`

linux JAVA图片中文不显示 jrobin

    博客分类:
  • JAVA
阅读更多

这两天用jrobin画图,发现中文标题一直显示不出来。java应用程序的中文会变成一个一个的“口”字.

产生这个问题的原因。java程序启动的时候会去在$JAVA_HOME/jre/lib/fonts目录下寻找相应的字体来显示。由于 JDK默认没有中文字体,所以我们需要手工的来设置一下,让java应用程序能够找到相应的中文字体。这样就能够解决问题了。

 

网传的办法:

 基本步骤如下:

  1)cd $JAVA_HOME/jre/lib/fonts

  2)mkdir fallback

  3)cp xxx.ttf fallback #xxx.ttf代表你想要的中文字体文件, 并设置文件可读

$sudo cp 字体路径/simhei.ttf      fallback/

$sudo cp 字体路径 /simsun.ttc   fallback/

$sudo chmod -R 644 fallback 

  4)cd fallback

  5)mkfontscale

  6)mkfontdir

这个时候就会在fallback目录下生成fonts.dir 和fonts.scale 文件,再将fonts.scale的内容追加到父目录的fonts.dir (如果不存在直接创建 touch ../fonts.dir ),  

 

$cat fonts.scale >> ../fonts.dir 

 

到这里应该就可以了,如果还不行的话fc-cache刷新一下字体缓存。

  其实,我们可以一条命令解决这个问题。将Linux系统的字体目录作为JDK下面的一个字体目录连接。

  ln -s $FONTS_PATH/FONT_DIR $JAVA_HOME/jre/lib/fonts/fallback

  你在打开你的java应用程序就会看到久违的中文了。

 

在我的环境下:

vim /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/fontconfig.properties.src

(或者你的$JAVA_HOME下面)

 

 

# Version
 
# Uses Fedora Core 6 fonts and file paths.
version=1

# Component Font Mappings

monospaced.plain.chinese-big5=AR PL ShanHeiSun Uni
monospaced.plain.chinese-gb18030=AR PL ShanHeiSun Uni

# Font File Names

filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/chinese/TrueType/uming.ttf
filename.AR_PL_ZenKai_Uni=/usr/share/fonts/chinese/TrueType/ukai.ttf

 

然后ll /usr/share/fonts/chinese/TrueType/ukai.ttf

两个文件都不存在。

 

然后从网上下载了 uming.ttc和ukai.ttc,分别改后缀 ttc为ttf

 

然后重启tomcat

 

jrobin显示中文成功!!

 

 

总结~~

刚开始网上查找一通,由于各自环境和配置不一样,始终找不到答案。

然后沉下去看配置文件,终于自己发现了问题所在。

 

 

===========================================

另外,之前还遇到一个问题是:

jrobin 在生成图片时Could not initialize class sun.awt.X11GraphicsEnvironment的异常,但在window下却又可显示的。

原因是没是加载java.awt.headless,于是修改${TOMCAT_HOME}/bin/catalina.sh

 

网上找解决方案:

 

一、查到-Djava.io.tmpdir="$CATALINA_TMPDIR"这行,并在这一行下加入:-Djava.awt.headless=true \共有七处的。修改好保存再重启即可

 

 

二、在catalina.sh里加上一句 CATALINA_OPTS=-Djava.awt.headless=true”,问题解决。

 

 

set CATALINA_OPTS = " -Djava.awt.headless=true"

export CATALINA_OPTS

分享到:
评论

相关推荐

    javaMelody+jrobin jar文件 .rar

    1. **轻量级**:JRobin的设计目标是轻便且高效,它不依赖任何外部数据库,只需一个简单的jar包即可实现数据存储。 2. **高效数据存储**:JRobin采用环形缓冲区机制,能有效地处理大量时间序列数据,避免了因数据量...

    javamelody.jar和 jrobin.jar

    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> <filter-name>monitoring <url-pattern>/* <listener-class>net.bull.javamelody.SessionListener</listener-class> 通过web...

    RRD与JRobin

    JRobin是Java版的RRD实现,由JasperReports项目维护。它设计用于Java应用程序,提供了与RRDTool类似的功能,但更易于集成到Java环境中。"JRobin简介.html"和"基于JRobin的CPU使用率监控.html"、"基于JRobin的网络...

    jrobin-1.5.9-API文档-中文版.zip

    标签:jrobin、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    jrobin-1.5.9-API文档-中英对照版.zip

    标签:jrobin、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 ...

    JavaMelody javamelody-core-1.52.0.jar jrobin-1.5.9.jar

    在本案例中,我们关注的是两个核心的JAR文件:`javamelody-core-1.52.0.jar`和`jrobin-1.5.9.jar`。 `javamelody-core-1.52.0.jar`是JavaMelody的核心组件,包含了实现监控功能的主要类和接口。这个版本的Java...

    jrobin-1.5.14.jar和源代码

    在Java世界中,数据持久化是一个不可或缺的部分,而JRobin正是这样一个轻量级的、高效的RPM(Ring-Persistent Metrics)存储库,它被广泛用于记录和分析系统性能指标。JRobin-1.5.14.jar是这个项目的一个稳定版本,...

    JRobin 流量报表

    - **图形生成**:JRobin 提供 API 和工具,将 RRD 数据转换成图表,如折线图、柱状图等,以直观显示流量变化趋势。 4. **集成 JRobin** 要在项目中使用 JRobin,首先需要下载 JRobinLite-1.5.4 压缩包并解压。...

    jrobin学习例子程序

    学习用jrobin绘图的绝佳例子程序 学习用jrobin绘图的绝佳例子程序

    监控JAVA应用的好工具javamelody

    jrobin库使得JavaMelody能够在不依赖外部软件的情况下,本地持久化监控数据,方便后期分析和对比。 要开始使用JavaMelody,开发者需要在web.xml文件中配置监听器和过滤器,并指定监控页面的URL。完成这些设置后,一...

    jrobin流量监控代码

    **Jrobin流量监控代码详解** Jrobin是一种开源的、轻量级的时序数据存储库,专门用于性能监控和日志记录。它被设计为Rrdtool(Round Robin Database Tool)的一个替代品,Rrdtool是由Tobi Oetiker开发的用于存储和...

    JavaMelody JAVA Web项目服务器性能监控工具

    其次,JavaMelody提供了线程监控功能,显示当前运行的线程数和每个线程的状态,有助于分析多线程问题,比如死锁或者线程阻塞。对于异常处理,JavaMelody会记录应用程序中抛出的异常,方便定位和解决问题。另外,它还...

    javamelody资料包

    3. **msyh.ttc** 和 **msyhbd.ttc**: 这两个文件可能包含的是中文字体,用于在JavaMelody的UI界面中正确显示中文字符,确保在不同系统和配置下都能正确呈现监控信息。 4. **javamelody-c**: 可能是JavaMelody的一个...

    JavaMelody 监测java或javaEE应用服务器

    另一个`jrobin-1.5.9.1.jar`则是JRobin库,它是JavaMelody用来存储和读取性能数据的持久化组件,提供了类似于RRDTool(Round Robin Database)的功能,以高效的方式存储时间序列数据。 在使用JavaMelody时,通常会...

    javamelody性能监控jar和war

    当你不想或不能将JavaMelody.jar直接集成到你的项目中时,可以直接部署这个war文件,然后通过浏览器访问特定URL来查看监控信息。 4. **集成JavaMelody**: 集成JavaMelody非常简单,只需要在web.xml配置文件中添加一...

    JRobin-开源

    JRobin是RRDTool的100%纯Java替代品,具有几乎完全相同的规格。 如果向RRDTool和JRobin提供相同的数据,则将获得完全相同的结果和图形。 支持所有标准RRDTool操作。

    javamelody-1.43.0

    - `jrobin-1.5.9.1.jar`:JRRobin是JavaMelody使用的持久化库,用于存储性能数据。 - `LICENSE`:项目的一般许可文件,可能包含了不同于`.LICENSE.GPL`的许可信息。 - `.lint4jprefs`:可能是LINT4J的偏好设置...

    JavaMelody应用监控使用指南

    3. 将javamelody.zip中的两个jar文件(javamelody.jar和jrobin-x.jar)复制到Web应用的WEB-INF/lib目录下,或通过Maven添加javamelody-core的依赖。 4. 修改Web应用的web.xml配置文件。对于Servlet API 3.0以上的...

    JavaMelody开源系统性能监控

    集成JavaMelody非常简单,只需要在项目中引入javamelody.jar和依赖的jrobin-1.5.9.1.jar库,并在web.xml中配置监听器和过滤器即可。一旦设置完成,无需重启服务器,JavaMelody就会自动开始收集数据。 值得注意的是...

    jrobin-1.5.9.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

Global site tag (gtag.js) - Google Analytics