我想在Debian 5上运行Tomcat最小。所以我不需要为我的操作系统使用gui,它只是一个纯粹的Tomcat服务器。Debian上的Java:可能致命错误:找不到字体
我的JVM需要哪些软件包才能在我的应用程序中使用字体? Im在Graphics2D中绘制文本,并在我的Java-Project中创建PDF文件。
我想在Debian 5上运行Tomcat最小。所以我不需要为我的操作系统使用gui,它只是一个纯粹的Tomcat服务器。Debian上的Java:可能致命错误:找不到字体
我的JVM需要哪些软件包才能在我的应用程序中使用字体? Im在Graphics2D中绘制文本,并在我的Java-Project中创建PDF文件。
Graphics2D和java.awt.*
或java.swing.*
包中的任何内容都需要GUI来完成其绘制。
这是大多数无头服务器的问题。你有两个选择,并尝试他们在这个顺序:
使用系统属性“java.awt.headless”,并设置为“true” java -Djava.awt.headless=true
或System.setProperty("java.awt.headless", "true");
安装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/
:
我通过安装一些字体(在Ubuntu下)由固定这一点。
不要忘了重新启动Tomcat,如果你使用它。
我有类似的问题在CentOS,捣鼓了一个解决方案以后。
我通过安装字体,喜欢解决了这个问题如下:以上为我工作在亚马逊的Linux AMI的答案
sudo yum install bitmap*
sudo yum install dejavu-lgc*
sudo yum install bitstream-vera*
无与OpenJDK 1.6.0_20。然而,这工作:
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/
我最近在Atlassian Bamboo遇到过这个问题。论科学的Linux,我被要求做的一切是:
须藤yum的安装DEJAVU *
(不像mkvalsvik我并不需要做一个符号链接)。
对我来说,这已经解决了它:https://bugzilla.redhat.com/show_bug.cgi?id=708201 基本上'java'包不依赖'fontconfig',必须手动安装。
你的问题是用哪个api来创建PDF或如何使debian在你的代码中使用你的字体? – 2010-12-14 11:59:23
第二个。应用程序本身可以在安装了windowManager的系统上正常工作。所以我认为我的debian安装丢失了一些包 – Sven 2010-12-14 12:13:32
可能。 java使用的字体可以在jre/lib/fontconfig.properties中找到,它通常是实际字体文件的一个软链接,但是您可以从中启动。 – 2010-12-14 12:40:13