Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Problemas con JFreeChart
Enviado por menchok el día 12 de mayo de 2004
Hola, estoy intentando ejecutar un ejemplo con jfreechart, tengo los dos .jar necesarios en la carpeta lib y en el claspath. Me compila bien pero a la hora de ejecutar en un navegador me da el siguiente error:
java.lang.NoClassDefFoundError
at org.jfree.chart.ChartFactory.createXYLineChart(ChartFactory.java:1194)
at org.jfree.chart.ChartFactory.createLineXYChart(ChartFactory.java:1737)
at ejemploGraficasServlet.crearChart(ejemploGraficasServlet.java:37)
at ejemploGraficasServlet.processRequest(ejemploGraficasServlet.java:70)
at ejemploGraficasServlet.doGet(ejemploGraficasServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
El codigo del ejemplo es este:
/*
* ejemploGraficasServlet.java
*
* Created on 10 de agosto de 2003, 14:25
*/
Disculpeme, es que tengo un problema con las graficas no me cargan en el servidor ya tengo el Xvfb pero nada miro el catalina.out y sale algo como connection refused si me puedes colaborar te agradezco
Hola yo también tenía el problema de no poder visualizar la imagen. Una solución que encontré fue crear el chart y luego guardarlo como imagen en una carpeta temporal, para finalmente llamarlo como imagen desde el jsp.
Creación del chart:
public JFreeChart crearChart(Datosgrafico objDatos) throws IOException {
XYSeries series = new XYSeries("Leyenda"); // leyenda del área sombreada
for (int i = 0; i < objDatos.getDatos().size(); i++) {
series.add(i + 1, objDatos.getDatos().get(i).getValor());
}
XYDataset juegoDatos = new XYSeriesCollection(series);
} catch (IOException e) {
System.out.println("Error creando el gráfico");
}
return chart;
}
/**
* Obtiene la ruta base del proyecto sin el "/" final.
* @return
*/
public String ObtenerRutaProyecto() throws UnsupportedEncodingException {
try {
/* this.getClass().getResource -> Permite obtener la ruta base donde se esta ejecutando el proyecto*/
URL lobjurl = this.getClass().getResource("miClase.class");
/* URLDecoder.decode -> permite quitar el %20*/
String lstrRuta = URLDecoder.decode(lobjurl.toString(), "UTF-8");
/* Se obtiene solo la ruta, se obvia File : */
lstrRuta = lstrRuta.substring(6, lstrRuta.indexOf("WEB-INF") - 1);