java.lang.Error:可能的致命错误:找不到字体

Dhi*_*ren 7 java fonts

我使用相同的jfreechart代码在linux和Windows与zkoss.

当我在Windows中运行相同的代码它运行正常,但在Linux中它给出了字体相关的错误....

任何人都可以建议我如何永久解决这个问题?

java.lang.Error:可能的致命错误:找不到字体.

sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1087)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.findFont2D(FontManager.java:1864)
java.awt.Font.getFont2D(Font.java:477)
sun.font.FontManager.getFont2D(Native Method)
sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:356)
sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:349)
sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:301)
sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:787)
org.jfree.text.TextFragment.calculateDimensions(TextFragment.java:229)
org.jfree.text.TextLine.calculateDimensions(TextLine.java:190)
org.jfree.text.TextBlock.calculateDimensions(TextBlock.java:171)
org.jfree.chart.block.LabelBlock.arrange(LabelBlock.java:316)
org.jfree.chart.block.BorderArrangement.arrangeNN(BorderArrangement.java:210)
org.jfree.chart.block.BorderArrangement.arrange(BorderArrangement.java:137)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.block.CenterArrangement.arrangeNN(CenterArrangement.java:284)
org.jfree.chart.block.CenterArrangement.arrange(CenterArrangement.java:98)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.block.FlowArrangement.arrangeNN(FlowArrangement.java:365)
org.jfree.chart.block.FlowArrangement.arrangeRR(FlowArrangement.java:283)
org.jfree.chart.block.FlowArrangement.arrange(FlowArrangement.java:158)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.title.LegendTitle.arrange(LegendTitle.java:501)
org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1330)
org.jfree.chart.JFreeChart.draw(JFreeChart.java:1220)
Run Code Online (Sandbox Code Playgroud)

Yu *_*aao 13

在Ubuntu下你可以安装字体

    sudo apt-get install ttf-dejavu
Run Code Online (Sandbox Code Playgroud)

或者如果你使用CentOS,你可以通过安装字体

    yum install dejavu*
Run Code Online (Sandbox Code Playgroud)


小智 5

就我而言(debian wheezy),安装 dejavu 字体并不能解决问题。

我安装fontconfig包后解决了

sudo apt-get install fontconfig

  • 在 CentOS 7 中,结果相同。不仅需要安装dejavu*字体,还需要安装fontconfig。 (2认同)

Muh*_*riq 0

Windows尝试将应用程序所需的相同字体放入Linux字体目录中。