编辑:
嗨,我正在使用JBoss 7.1 Runtime Server,当我构建项目并在本地主机上运行时,我的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 localhost或Linux服务器上运行我的项目时,我没有得到这个错误。我希望有人能帮我,给我一个解决问题的办法。
请确保您的JAR位于WEB-INF/lib
文件夹中。如果您正在使用Apache Maven,请在pom.xml
中包含以下依赖项
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.13</version>
</dependency>
我猜您在一个无头环境中运行,所以UI(awt)不起作用,所以传递-Djava.awt.headless=true使其在上起作用