Привязка jasperreports к гуи
От: the_moon  
Дата: 12.02.10 17:54
Оценка:
Привет,

написал простенькую программку на яве, которая получает на вход скомпилированный темплейт, и выплевывает Excel документ. Никаких тебе гуи, чисто консольное приложение.

Все работает.

Только вот попутка запустить под Linux, с неправильно выставленной переменной окружения DISPLAY, программка вываливается по исключению.

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':100' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53)
    at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
    at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:174)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:143)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:53)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at JRLauncher.execute(JRLauncher.java:46)
    at JRLauncher.main(JRLauncher.java:143)


Неужели у JasperReports привязка к гуи? А то я тут неделю ковырялся, пробовал, радовался, а тут такое. Потом это все должно будет работать на unix сервере где иксами и не пахнет, а будет ли работать? Что я делаю не так?

Спасибо
KOPOTbILLIKA KPbIC
Re: Привязка jasperreports к гуи
От: the_moon  
Дата: 12.02.10 17:58
Оценка:
А вот программка собственно, я там main фукцию вырезал, там не интересно, она просто парсит параметры и вызывает функцию execute

import java.sql.*;
import oracle.jdbc.driver.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import java.util.*;
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.ParseException;
import java.io.*;

public class JRLauncher {

    public void execute()
    {

        HashMap hm = new HashMap();

        try {

            Connection jdbcConnection = this.connectDB();

            System.out.println( "Fill the report..." );
            JasperPrint print = JasperFillManager.fillReport( this.jasperreport, hm, jdbcConnection );
            
            System.out.println( "Create a PDF exporter..." );
            JRExporter exporter = new JRXlsExporter();
            
            // Configure the exporter (set output file name and print object)
            exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, this.outputfile);
            exporter.setParameter(JRExporterParameter.JASPER_PRINT, print );
            exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE );
            exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE );

            System.out.println( "Export the XLS file..." );
            exporter.exportReport();
            
        } catch (JRException e) {
            e.printStackTrace();
            System.exit(1);
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }
    }
}
KOPOTbILLIKA KPbIC
Re: Привязка jasperreports к гуи
От: . Великобритания  
Дата: 12.02.10 21:59
Оценка:
On 12/02/2010 19:54, the_moon wrote:
> Can't connect to X11 window server
http://lmgtfy.com/?q=jasper+Can%27t+connect+to+X11+window+server
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: Привязка jasperreports к гуи
От: the_moon  
Дата: 12.02.10 22:51
Оценка:
Здравствуйте, ., Вы писали:

.>On 12/02/2010 19:54, the_moon wrote:

>> Can't connect to X11 window server
.>http://lmgtfy.com/?q=jasper+Can%27t+connect+to+X11+window+server

Точно, не пойму, почему я ничего сразу не нашел.

Спасибо
KOPOTbILLIKA KPbIC
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.