无法初始化类org.jfree.chart.JFreeChart

时间:2013-08-19 05:50:22

标签: java macos jboss localhost jfreechart

编辑:

您好我正在使用JBoss 7.1运行时服务器,当我构建我的项目并在localhost上运行时,我的MAC上出现问题我总是从JFreeChart库中得到一个无法初始化的错误。我正在使用Maven导入我的所有库,我的存储库是:

<repositories>
        <repository>
            <id>java.net2</id>
            <name>Repository hosting the jee6 artifacts</name>
            <url>http://download.java.net/maven/2</url>
        </repository>
        <repository>
            <id>JBoss repository</id>
            <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
        </repository>

        <repository>
            <id>org.openfaces</id>
            <url>http://repository.openfaces.org/repository</url>
        </repository>
        <repository>
            <id>jfree</id>
            <url>http://www.ibiblio.org/maven/jfree/</url>
        </repository>
    </repositories>

和我用于JFreeChart的依赖是:

        <dependency>
            <groupId>jfree</groupId>
            <artifactId>jcommon</artifactId>
            <version>1.0.16</version>
        </dependency>

        <dependency>
            <groupId>jfree</groupId>
            <artifactId>jfreechart</artifactId>
            <version>1.0.13</version>
        </dependency>

这是错误:

exception

javax.servlet.ServletException: Could not initialize class org.jfree.chart.JFreeChart
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
root cause

java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:171)
    org.openfaces.taglib.internal.chart.AbstractStyledComponentTag.checkJFreeChart(AbstractStyledComponentTag.java:33)
    org.openfaces.taglib.internal.chart.AbstractStyledComponentTag.setComponentProperties(AbstractStyledComponentTag.java:27)
    org.openfaces.taglib.internal.chart.ChartTag.setComponentProperties(ChartTag.java:39)
    org.openfaces.taglib.facelets.AbstractFaceletsComponentHandler.setAttributes(AbstractFaceletsComponentHandler.java:54)

当我在Windows PC本地主机或Linux服务器上运行我的项目时,我没有收到此错误。 我希望有人可以帮助我,并为我解决问题。

2 个答案:

答案 0 :(得分:1)

请确保您的JAR位于WEB-INF/lib文件夹中。如果您正在使用Apache Maven,请在pom.xml

中包含以下依赖项
<dependency>
    <groupId>jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.0.13</version>
</dependency>

答案 1 :(得分:0)

我猜你是在无头环境中运行所以UI(awt)不起作用,所以传递-Djava.awt.headless = true以使其工作