BIRT mit Java startten

Status
Nicht offen für weitere Antworten.

MScalli

Bekanntes Mitglied
Hi leut.
ich arbeite seit ner zeit mit BiRT und erstelle damit reports.
Jetzt will ich diesen Report mittels ner Java -Applikation aufrufen, aber das klappt einfach nicht .........

kann mir da wer helfen??
BITTTTEEEEEEEE !!!!

schon mal thx an alle die es versuchen.
 

JPKI

Top Contributor
Keine Ahnung, was BIRT ist, aber meine Glaskugel sagt mir, dass du ein externes Programm aufrufen möchtest...
Schau dir mal ProcessBuilder an, oder einfach:
Code:
Runtime.getRuntime().exec("P:\fad\zur\Programmdatei.exe");
 

*Hendrik

Bekanntes Mitglied
Ich habe bisher noch nicht mit BIRT gearbeitet, aber vielleicht hilft Dir der BIRT Report Viewer weiter.
The sample BIRT viewer is optimized for use within Eclipse for the preview operation. When used outside Eclipse, it simply acts as an example of the application you might build to run and view reports. Your report viewer application must be in Java so that it has access to the BIRT engine. The viewer can also be deployed as an Eclipse plugin in an RCP application.
 
G

Gast

Gast
@JPKI

BIRT ist ein Top-Level-Softwareprojekt der Eclipse-Foundation. Auch als Business Intelligence and Reporting Tools bekannt.
Damit kann man aus eclipse heraus Reports erstellen, betrachten, etc.
Bzw. aus Java-Aplikationen heraus Reports erstellen, da Birt ja auch in Java implementiert ist und es auch eine dementsprechende Api gibt.
Da wirst du keine .exe-Dateien finden. Da hat dich deine Glaskugel sauber angeschmiert.
 

JPKI

Top Contributor
Jo, das Ding wollte ich schon längst wegschmeißen, doch ich hänge irgendwie dran :wink:
 

MScalli

Bekanntes Mitglied
ich versuch das jetzt schon ewig.
die seite mit dem birt report viewer hab ich mir schon paar mal angeschaut, aber ich weiss ehrlich nicht wie die das da meinen.
ich habe bis jetzt nen bericht (test.rptdesign), den habe ich mit birt erstellt.
wenn ich jetzt in eclipse auf viewer gehe geht das einwandfrei(oder auf view report as PDF usw.).
dann wird mir der Bericht im Viewer angezeigt. (ohne nen Server wie tomcat oder so)

der Bericht soll ja später mal aus der java applikation aufgerufen und gefüllt werden..
ich hab ewig viele beispiele durchprobiert, aber das will bei mir nicht!!

das schlimme ist die beispiele sind sowas von verschieden das man nicht mal weiss was denn nun eigentlich nur zur ansicht dient :(

ich hab mir da das komplettpaket installiert, also das gesamte eclipse mit birt(obwohl ich eclipse schon drauf hatte) damit ich alles mit drauf habe.. aber ich bin mir jetzt da nicht mehr so sicher.. denn in jedem beispiel fehlt mir ne andere import datei.

z.B. an der ich gerade bastele fehlt diese
import org.eclipse.birt.report.viewer.utilities.WebViewer;

die habe ich aber in anderen gar nicht gebraucht!!!!!!!
ausserdem muss es den viewer doch schon geben, da ich ihn ja mit ECLIPSE einwandfrei aufrufen kann..

ich weiss echt nicht mehr weiter..
hat den keiner ein beispiel mit dem man nen Bericht(es reicht ein leerer bericht.. kann auch ein hello world sein ;)
aufrufen kann. bis jetzt habe ich nur die .rptdesign
bin echt am verzweifeln :(
 

MScalli

Bekanntes Mitglied
@ m.l
das schau ich mir mal an in der Zeitung da !!

@hendrik
ich hab mir jetzt tomcat drauf gemacht und kann mir das *.rptdesign file anschaun.
ist halt bisschen verschoben.
ist aber leider auch nicht das was ich suche..
dazu muss ich meinen report in das verzeichniss webapps von tomcat kopieren und dann so aufrufen

http://localhost:8080/birt-viewer/preview?__report=test.rptdesign&sample=my+parameter

das kann ich bestimmt auch aus meinem Programm aufrufen.. aber ich brauch es ja eh als pdf.
ich denke nicht das das die lösung meines problems ist, da ich später ja auch ein paar CSV dateien übergeben muss usw.
also die *.rptdesign kann ich hier anzeigen und dann auch als pdf speichern, aber das sollte alles im Hintergrund passieren und nicht beim aufruf des Browsers.

wenn noch wer nen link hat oder ne idee wie das geht.. oder bisschen quellcode ;)
.. IMMER HER MIT!!!!
 

*Hendrik

Bekanntes Mitglied
Der Report Viewer ist offensichtlich für JEE Anwendungen gedacht, bei denen die Darstellung des Reports im Browser erfolgt.
Nach diesem Artikel

Because the RE API is the main API responsible for generating the reports, this article will focus on the available options for its deployment. Some of the most common deployment options are listed below:
Deploy the BIRT Viewer to a J2EE application server.
Create a servlet that wraps the RE API and deploy it to a J2EE application server.
Add the BIRT plugins to an existing Eclipse Rich Client Platform (RCP) application and use the BIRT Web Viewer plugin for generating and viewing reports.
Wrap the RE API in an existing RCP application.
Wrap the RE API in an existing Java application.

Wrapping the RE API within an existing Java application is described on the BIRT site. See Report Engine API for more details.

benötigst Du nur die Report Engine und eine Beschreibung dazu gibts hier. (Aber wahrscheinlich wirst Du sie Dir bereits angesehen haben.)

Vielleicht ist auch ein Buch wie "Integrating and Extending BIRT" ganz hilfreich.

Edit: Hier ein Auszug aus dem o.g. Buch.
 

MScalli

Bekanntes Mitglied
joop, diese sachen kann ich bald auswendig ;)
aber nie verkehrt wenn man paar links mitschickt!!!

habe jetzt zwar paar sachen fertig gebracht(denk ich mal) aber BIRT will net so wie ich will.
mein Prog sieht so aus, und ich rufe nen leeren bericht auf(erst mal)

Code:
import java.util.HashMap;
import java.util.logging.Level;
import org.eclipse.birt.report.viewer.utilities.WebViewer; 
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
import org.eclipse.birt.report.engine.api.HTMLRenderContext;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportDocument;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.IRunTask;
import org.eclipse.birt.report.engine.ir.Report;
public class ExecuteReport {

static void executeReport() throws EngineException
{
	String path = ("D:\\birt-runtime-2_2_1\\birt-runtime-2_2_1\\ReportEngine");
	String path_logfile = ("d:\\birt\\logfiles");
	IReportEngine engine=null;
	
	EngineConfig config;
	try{
		config = new EngineConfig( );
		config.setEngineHome( path );
		config.setLogConfig(path_logfile, Level.ALL);
		
		Platform.startup( config );
		System.out.println("Platform.startup wurde durchgeführt");
		IReportEngineFactory factory = (IReportEngineFactory) Platform
					.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
		engine = factory.createReportEngine( config );
		engine.changeLogLevel( Level.WARNING );
		System.out.println("nach Engine");
	}catch( Exception ex){
		System.out.println("EXCEPTION: ExecuteReport/executeReport");
		ex.printStackTrace();
		System.exit(0);
	}
	
	// run Reports *******************************************************************************************************
	String name_rptdesign = "D:/apache-tomcat-5.5.25/apache-tomcat-5.5.25/webapps/birt-viewer/test.rptdesign";
	String name_rptdocument = "D:/apache-tomcat-5.5.25/apache-tomcat-5.5.25/webapps/birt-viewer/test.rptdocument"; 
	String name_output = "D:/apache-tomcat-5.5.25/apache-tomcat-5.5.25/webapps/birt-viewer/test.html";
	
	// Methode die ein *.rptdocument generiert(geht)
	//getIRunTask(name_rptdesign, name_rptdocument, engine); 

	//Open a report design - use design to modify design, retrieve embedded images etc. 
	IReportRunnable design = engine.openReportDesign(name_rptdesign); 
			
	//Create task to run the report and render the report
	IRunAndRenderTask task = engine.createRunAndRenderTask(design); 
			
	//Set Render context to handle url and image locataions
	HTMLRenderContext renderContext = new HTMLRenderContext();
	renderContext.setImageDirectory("image");
	HashMap contextMap = new HashMap();
	contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );
	task.setAppContext( contextMap );
			
	//Set rendering options - such as file or stream output, 
	//output format, whether it is embeddable, etc
	HTMLRenderOption options = new HTMLRenderOption();
	//options.setOutputStream(System.out);
	options.setOutputFileName(name_output);
	options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);
	task.setRenderOption(options);
			
	task.run();
	// ENDE run Reports **************************************************************************************************
	
	// shut down engine
	engine.shutdown();
	Platform.shutdown();
} 
private static void getIRunTask(String name_rptdesign, String name_rptdocument, IReportEngine engine) {
	IReportRunnable design;
	try {
		design = engine.openReportDesign( name_rptdesign );
		IRunTask task = engine.createRunTask(design);
		task.run(name_rptdocument);		//hier wird das *.rptdocument erzeugt
		task.close();
	} catch (EngineException e) {
		System.out.println("EXCEPTION: ExecuteReport/getIRunTask");
		e.printStackTrace();
		System.exit(0);
	}	
}
/**
 * @param args
 */
public static void main(String[] args) {
	try
	{
		System.out.println("Start <--");
		executeReport( );
		System.out.println("Ende  <--");
		System.exit(0);
	}
	catch ( Exception e )
	{
		System.out.println("EXCEPTION : ExecuteReport/Main");
		e.printStackTrace();
		System.exit(0);
	}
}

}

jetzt bekomme ich ne fehlermeldung die mich hoffen lässt^^
ich poste mal die ganze ausgabe

Code:
Start <--
07.11.2007 11:36:43 org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin start
INFO: Sampledb plugin starts up. Current startCount=0
07.11.2007 11:36:43 org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin init
INFO: Creating Sampledb database at location C:\DOKUME~1\sm\LOKALE~1\Temp\/BIRTSampleDB_1194431803390_1ba94d
Platform.startup wurde durchgeführt
nach Engine
07.11.2007 11:36:46 org.eclipse.birt.report.engine.api.impl.EngineTask createContentEmitter
SCHWERWIEGEND: Report engine can not create html emitter.
EXCEPTION : ExecuteReport/Main
org.eclipse.birt.report.engine.api.EngineException: Report engine fails to initialize html emitter, please make sure required libraries for this emitter are installed.
	at org.eclipse.birt.report.engine.api.impl.EngineTask.createContentEmitter(EngineTask.java:1105)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:88)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:68)
	at ExecuteReport.executeReport(ExecuteReport.java:74)
	at ExecuteReport.main(ExecuteReport.java:101)

Ich hab zu der Fehlermeldung zwar was gefunden, aber irgendwie klappt das was bei anderen geht bei mir nie :(
kann mir da noch wer helfen.. bitte
Ich hab so ne masse an Jar files eingebunden das ich ich nicht denke das mir da noch eins fehlt?!?!
das prog lst sonst lauffähig.
wenn mann task.run(); auskommentiert läuft es durch. auch das erstellen der rptdocuments geht!!

@ hendrik
vielen dank für deine hilfe, hatte die sachen zwar schon paar mal durchgelesen aber wie gesagt ich bin sehr froh über jede hilfe.. ausserdem kann man sehr schnell was übersehen!!
merci!!
 

MScalli

Bekanntes Mitglied
ich hab das auch gelesen.. das sagen sie sogar in mehr foren.
aber was soll ich denn jetzt einbinden???
ich habs schon einzeln versucht, aber dann geht irgendwie gar nichts mehr!!
dann läuft mein prog gar nicht mehr :(

irgendwie sind die ganzen sachen auch doppelt und dreifach in allen möglichen ordnern..
bei dir läuft das also so, was hast du denn alles in eclipse eingebunden.. also die externel jars... und aus welchem ordner..
muss das jetzt doch mal zum laufen bringen.. das gibts doch gar net^^
lass mich jetzt bitte nicht allein ;)
 

MScalli

Bekanntes Mitglied
lol...
gar nichts aus dem ordner plugins einbinden...
das war der ganze fehler..

ich häng hier schon tage.. denn ich musste die sachen(nach mehreren anleitungen) zuerst alle einbinden.
vielen vielen dank für deine hilfe hendrik.
thx auch an alle anderen dies probiert haben ^^
war echt kurz vorm verzweifeln..

ich hoffe der rest mit birt(parameter übergeben usw.) ist nicht so übel...
aber wenn wer nen guten link hat oder code ;) kann er ihn ja vorsichtshalber posten
*hehe*

gruss
MScalli
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H BIRT Allgemeine Java-Themen 9
kodela Von C++ nach Java Allgemeine Java-Themen 1
Fey Java auf USB Stick Allgemeine Java-Themen 5
theJavaMaschine Mitstreiter gesucht: Gemeinsam Java und Android Development lernen! Allgemeine Java-Themen 5
PARAS Karriereberatung benötigt: Wie kann ich ein Java Full Stack Entwickler werden? Allgemeine Java-Themen 7
P Java Access Bridge Allgemeine Java-Themen 5
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 1
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
MJannek Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
MJannek Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
LimDul XSD To Java - Überschreiben von Assoziationen Allgemeine Java-Themen 1
Aartiyadav Comparisons and Swapa in Bubble-sort Java Allgemeine Java-Themen 6
KonradN Java 18 Allgemeine Java-Themen 8
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
Z Mit Java 8+ Streams Zeilen nummern zu Zeilen hinzufügen Allgemeine Java-Themen 17
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben