2010-12-14 74 views
0

我想在Debian 5上运行Tomcat最小。所以我不需要为我的操作系统使用gui,它只是一个纯粹的Tomcat服务器。Debian上的Java:可能致命错误:找不到字体

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

+0

你的问题是用哪个api来创建PDF或如何使debian在你的代码中使用你的字体? – 2010-12-14 11:59:23

+0

第二个。应用程序本身可以在安装了windowManager的系统上正常工作。所以我认为我的debian安装丢失了一些包 – Sven 2010-12-14 12:13:32

+0

可能。 java使用的字体可以在jre/lib/fontconfig.properties中找到,它通常是实际字体文件的一个软链接,但是您可以从中启动。 – 2010-12-14 12:40:13

回答

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基元。它远非优化(无图形加速),但它可以让您的系统再次运行。

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

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

apt-get install msttcorefonts

他们应安装在/usr/share/fonts/truetype/

0

我通过安装一些字体(在Ubuntu下)由固定这一点。

不要忘了重新启动Tomcat,如果你使用它。

3

我有类似的问题在CentOS,捣鼓了一个解决方案以后。
我通过安装字体,喜欢解决了这个问题如下:以上为我工作在亚马逊的Linux AMI的答案

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

我最近在Atlassian Bamboo遇到过这个问题。论科学的Linux,我被要求做的一切是:

须藤yum的安装DEJAVU *

(不像mkvalsvik我并不需要做一个符号链接)。

相关问题