Java 在EJB组件(JBoss7.2)中使用JFreeChart

Java 在EJB组件(JBoss7.2)中使用JFreeChart,java,jboss7.x,jfreechart,java-ee-6,netbeans-7,Java,Jboss7.x,Jfreechart,Java Ee 6,Netbeans 7,我目前使用NetBeans在JBoss7.2中开发了一个应用程序。在我的一个EJB组件中,我需要使用该库生成我需要的一些图表。因此,我所做的是,首先,添加本例中所需的外部jar jcommon-1.0.22.jar和jfreechart-1.0.18.jar 我的代码如下所示: EJB: @Stateless public class GraphGeneratorBean implements GraphGenerator { @Override public void createGraph

我目前使用NetBeans在JBoss7.2中开发了一个应用程序。在我的一个EJB组件中,我需要使用该库生成我需要的一些图表。因此,我所做的是,首先,添加本例中所需的外部jar jcommon-1.0.22.jar和jfreechart-1.0.18.jar

我的代码如下所示:

EJB:

@Stateless
public class GraphGeneratorBean implements GraphGenerator {

@Override
public void createGraph() {
    PieChart demo = new PieChart("Comparison", "Which operating system are you using?");
    }
}
图形类:

public class PieChart {

public PieChart(String applicationTitle, String chartTitle) throws IOException {
    super(applicationTitle); 
    PieDataset dataset = createDataset();
    JFreeChart chart = createChart(dataset, chartTitle);
    ...
}
它可以很好地编译,但当我运行应用程序时,会出现运行时错误:

JBAS014134:方法公共抽象void com.test.reportmanager.GraphGenerator.createGraph:javax.EJB.EJBTransactionRolledbackException的组件GraphGeneratorBean上的EJB调用失败:意外错误 ... 原因:java.lang.NoClassDefFoundError:org/jfree/data/general/PieDataset ... 原因:java.lang.ClassNotFoundException:org.jfree.data.general.PieDataset来自[Module deployment.Component1 EJB.jar:main来自服务模块加载器]

这意味着类加载器无法加载PieDataset.class,尽管我看到特定文件位于org/jfree/data/general/。我已经阅读了一些可能的解决方案,并尝试在Manifest.MF中添加带有类路径行的JAR,但没有成功。我正在使用Windows

谁能给我一个好的逐步解决方案?提前谢谢

编辑:

我的文件布局是: 建造 |- ... 西区 |- ... src |-形态 |-爪哇 .\lib |-jfreechart-1.0.18.jar |-jcommon-1.0.22.jar

我使用这个库的组件清单是:

Manifest-Version: 1.0
Dependencies: deployment.Component1-EJB.jar, deployment.Component2-EJB.jar
Class-Path: lib\jfreechart-1.0.18.jar; lib\jcommon-1.0.22.jar

当您右键单击project->properties->libraries时,您会在列表中看到jfreechart.jar?如果没有,您必须添加它。正如您所说,唯一的问题是它没有被classLoader加载。是的,jcommon-1.0.22.jar和jfreechart-1.0.18.jar都在列表中。否则它无法在第一时间编译..也许这可以帮助你。否则也可以用清单文件更新问题,这样其他人就可以知道出了什么问题。我按照你给我的链接上的说明进行了操作,但什么都没有。我在问题中添加了文件结构和MANNIFEST.MF内容。类路径中使用的路径可能有问题?类路径看起来不错。在我看来,您已经正确设置了它。尝试从类路径中删除lib,清理并构建项目,再次添加它们,重新打开netbeans并再次运行。我在jnativehook库中遇到了这个问题,即使我在类路径中有jar,netbeans也会抛出它看不到的错误,我确实提到了,错误消失了。我现在很好奇是什么导致了你的错误。希望有人能给出另一个见解。