Debian上的Java:可能的致命错误:找不到字体

时间:2010-12-14 11:51:27

标签: java tomcat fonts debian

我想在Debian 5 Minimal上运行Tomcat。所以我的操作系统不需要gui,它只是一个纯粹的Tomcat-Server。

我的JVM需要哪些软件包才能在我的应用程序中使用字体?我在Graphics2D中绘制文本,并在我的Java项目中创建PDF文件。

6 个答案:

答案 0 :(得分:3)

在解决了解决方案之后,我在CentOS上遇到了类似的问题 我通过安装如下字体解决了这个问题:

  sudo yum install bitmap*
  sudo yum install dejavu-lgc*
  sudo yum install bitstream-vera*

答案 1 :(得分:2)

Graphics2D以及java.awt.*java.swing.*包中的任何内容都需要GUI来进行绘制。

这是大多数无头服务器上的问题。您有两个选项,并按此顺序尝试:

  1. 使用系统属性“java.awt.headless”并将其设置为“true” java -Djava.awt.headless=trueSystem.setProperty("java.awt.headless", "true");

  2. 在服务器上安装XWindows虚拟帧缓冲区(xvfb)。这使服务器无头,但提供了在虚拟屏幕上绘制所需的XWindows基元。它远非优化(没有图形加速),但它将允许您的系统再次工作。

  3. Java 1.4引入了java.awt.headless选项。请参阅:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/

    如果不起作用,请安装XVFB软件包并对其进行配置,以创建足够大的虚拟帧缓冲区来进行绘制。

答案 2 :(得分:1)

上述答案都不适用于使用OpenJDK 1.6.0_20的Amazon Linux AMI。无论如何:

sudo yum install dejavu*
ln -s /usr/share/fonts/dejavu /usr/share/fonts/dejavu-lgc

第一行安装一些默认字体,第二行确保Java找到它们。更多http://brandon.fuller.name/archives/2011/09/12/00.05.15/

答案 3 :(得分:1)

我最近遇到了Atlassian Bamboo的这个问题。在Scientific Linux上,我需要做的就是:

sudo yum install dejavu *

(与mkvalsvik不同,我不需要制作符号链接)。

答案 4 :(得分:0)

我通过安装一些字体(在Ubuntu下)修复了这个问题:

  

apt-get install msttcorefonts

它们应该安装在/usr/share/fonts/truetype/中。

如果你使用它,别忘了重启Tomcat。

答案 5 :(得分:0)

对我来说,这解决了它:https://bugzilla.redhat.com/show_bug.cgi?id=708201 基本上'java'包不依赖于'fontconfig',它必须手动安装。