Apache FOP 0.20-5 mit JNI von C++ Code aufrufen

Status
Nicht offen für weitere Antworten.

Chris81T

Mitglied
Hallo zusammen,

ich hatte gestern schon einen Thread hier gestartet, um zu wissen, wie man Java Methoden mit JNI im Cpp Code aufruft.

Das klappt nun wunderbar und kann nun zur nächsten Problematik gehen:

( es wurde mir auch eine Alternative hierzu schon genannt, dieses mit ner Interprocesskommunikation zu lösen, möchte es aber mit JNI probieren )

Mein Ziel:
Mit C++ Code / Funktionen den JAVA Apache FOP 0.20-5 (die neuere Version kann leider nicht verwendet werden!) mit Hilfe von JNI anzusprechen, damit dieser aus einer vorhandenen XML und XSL-FO Datei daraus ein PDF File erzeugt.


Einfache Methoden aus einer Java Class aufzurufen, hat bisher geklappt, aber bei imports hört's mit meinen JAVA Kenntnissen auf

Mein(e) Problem(e) / Fragen:

Wie gehe ich das nun am Besten an? Ich habe mir gedacht, ich schreibe eine kleine JAVA Klasse mit einer Methode, die dazu dient, den JAVA FOP anzusprechen und die Arbeit XML2PDF zu erfüllen. Diese Methode würde ich dann via JNI in meinem C++/Qt Hauptprogramm nutzen.

Um dieses Vorhaben zu Testen, will ich mir das nun erstmal unabhängig in ner JAVA Klasse testen

Code:
import java.util.*;
import java.util.Date;
import java.io.*;
import java.net.*;

import org.apache.fop.apps.Driver;
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.Options;

class InvokingFop
{

	public static void main(String[] args)
	{
		System.out.println("JAVA InvokingFop: void main(String[] args) {..}");

                // Hier soll dann der passende Code zum Test reinkommen, der den FOP zum Transformieren anspricht
	}	
}

Wenn ich das "Kompiliere" mit javac, meckert dieser, dass er die 3 imports von apache.fop nicht kennt. Das macht ja auch ganz klar Sinn, aber habe keine Ahnung, wie man das JAVA bekannt gibt.

Ich habe da nun eine fop.jar. Ich denke mal, dass diese halt irgendwie bekannt gegeben werden muss. Aber wie?


Falls jemand noch Anregungen hat, wie man mein Ziel auch noch lösen kann, bitte melden



Vielen Dank für eure Hilfe :)
 

Murray

Top Contributor
Sowohl zum Übersetzen als auch später zur Laufzeit muss die VM alle benötigten Klassen finden können. Dazu gibt es den sog. Classpath. Den kann man als Umgebungsvariable definieren, oder aber beim Aufruf des Compilers bzw. der VM als Option mitgeben.
Also z.B.:
javac -cp .;fop.jar MeineKlasse.java
java -cp .;fop.jar MeineKlasse
 

Chris81T

Mitglied
So, es gibt von Apache FOP ein Java Beispiel/Code, der genau mein Vorhaben realisiert. Und zwar aus XML + XSL-FO = PDF zu machen.

Wenn ich das JAVA Prog. (das Beispiel verwendet und mit javac compiliert.) mit java -cp passenden classpaths Invokefop aufrufe, tut der Apache Fop auch seine Arbeit. Also das funzt schon ma.

Wenn ich mein Cpp Prog. starte, wird die Invokefop JAVA Klasse nicht gefunden (C++ Zeile 75) :(

:arrow: habe noch ne Art HelloWorld.class mit am Start und wenn ich die "Invokefop" mit der HelloW Klasse in Zeile 75 austausche, wird die passende Klasse des Hello Worlds gefunden und korrekt die JAVA main Methode aufgerufen. Das sollte ja dann schon zeigen, dass auch der Cpp Code soweit okay ist.

:arrow: Ich habe durch passendens Auskommentieren in der Invokefop.java herausgefunden, dass erst dann die Invokefop Klasse nicht mehr gefunden wird, wenn die JAVA Zeile 36 nicht auskommentiert ist.

@Murray + all:
Könntest du mir bitte noch helfen, wie man der VM die Classpath's bekannt macht?

Bisher habe ich das so in meiner C++ stehen:
Code:
options[0].optionString = "-Djava.class.path=C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs";

In fopLibs liegen alle jar Files, die benötigt werden. Ist dass dann so okay, oder muss es irgendwie anders gemacht werden?

Wer weis Rat?


Vielen Dank


( Auch beim nachfolgendem Code gilt, ist nur en dirty Prototype ;) )
C++ Code:
Code:
// Qt requiered Includes
#include <QApplication>
#include <QtDebug>
#include <QPushButton>

// JNI requiered Includes
#include <jni.h>

JNIEnv * createJavaVM(JavaVM * jvm, JNIEnv * env)
{
	qDebug() << "bool createJavaVM(JavaVM * jvm, JNIEnv * env)";
	
	// benötigte Variablen:
	JavaVMOption options[1];
	JavaVMInitArgs vm_args;	
	
	// Version festlegen:
	vm_args.version = JNI_VERSION_1_6;
	
	// default Argumente holen:
	JNI_GetDefaultJavaVMInitArgs(&vm_args);
	
	// Pfad zur Java- Klasse festlegen:
	// --> ist der Pfad zu der *.class JAVA Datei/en
	options[0].optionString = "-Djava.class.path=C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs";
	vm_args.nOptions = 1;
	vm_args.options = options;
	
	// zur Fehlererkennung:
	jint value;
	
	// JavaVM erzeugen:
	value = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);
	if(value < 0)
	{
		qDebug() << value << " : ";
		switch(value)
		{
			case JNI_ERR:
				qDebug() << "JNI_ERR" << endl;
			break;
			case JNI_EDETACHED:
				qDebug() << "JNI_EDETACHED" << endl;
			break;
			case JNI_EVERSION:
				qDebug() << "JNI_EVERSION" << endl;
			break;
			case JNI_ENOMEM:
				qDebug() << "JNI_ENOMEM" << endl;
			break;
			case JNI_EEXIST:
				qDebug() << "JNI_EEXIST" << endl;
			break;
			case JNI_EINVAL:
				qDebug() << "JNI_EINVAL" << endl;
			break;
		}
		return 0;
	}
	qDebug() << "CreateJavaVM success!!" << endl;
	qDebug() << env; // TODO löschen
	// env wurde von JNI verändert und muss zurückgegeben werden
	return env;
}

bool callApacheFop( JNIEnv * env)
{
	qDebug() << "bool callApacheFop( JNIEnv * env)";
	
	// jclass zeigt auf die gewünschte JAVA Klasse:
	qDebug() << env; // TODO löschen
	jclass XML2PDF;

	if (!(XML2PDF = env->FindClass("Invokefop")))
	{
		qDebug() << "FindClass failed :(" << endl;
		return false;
	}
	qDebug() << "FindClass success!!" << endl;
	
	// jmethodID zeigt auf die gewünschte JAVA Methode:
	jmethodID convertXML2PDF;
	
	if(!(convertXML2PDF = env->GetStaticMethodID(XML2PDF, "main", "([Ljava/lang/String;)V"))) 
		{	
			qDebug() << "GetStaticMethodID failed :(" << endl;
			return false;
		}
	qDebug() << "GetStaticMethodID success!!" << endl;

	// mit jclass und passender jmethodID wird hier die Funktion ausgeführt:
	env->CallStaticVoidMethod(XML2PDF, convertXML2PDF, "LSPRT03.xml", "LSPRT03.xsl", "LSPRT03.pdf");
	return true;
}

// How many times the fop will be called: ( up to now unused )
#define MAX 30

int main(int argc, char **argv)
{
    QApplication app(argc, argv);

	qDebug() << "Using Apache FOP with Java Native Interface...";	

//	Testing Area: call Apache FOP methods with JNI:
//	*******************************************************************************
	// benötigte Variablenzeiger:
    JavaVM * jvm;
	JNIEnv * env;

	if((env = createJavaVM(jvm, env)))
	{ 	// creating success
		qDebug() << "Now try to call the Apache FOP...";
		if(callApacheFop(env))
			qDebug() << "calling FOP success!!";
		else
			qDebug() << "calling FOP failed!!";
		
		// zum Schluss wird die VM zerstört:
//		jvm->DestroyJavaVM();		
	}
			
//	*******************************************************************************
	
	QPushButton closeButton("Fop Qt Jni :: Testprojekt &beenden!");
    closeButton.resize(200, 200);
	
	QObject::connect(&closeButton, SIGNAL(clicked()),
					 &app, SLOT(quit()));

    closeButton.show();
    int result = app.exec();
	qDebug() << "Finished Executing. Bye bye";
	return result;
}

JAVA Code Beispiel:
Code:
//Java
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;

//JAXP
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerException;
import javax.xml.transform.Source;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.sax.SAXResult;

//Avalon
import org.apache.avalon.framework.ExceptionUtil;
import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.logger.Logger;

//FOP
import org.apache.fop.apps.Driver;
import org.apache.fop.apps.FOPException;
import org.apache.fop.messaging.MessageHandler;

public class Invokefop 
{

    public void convertXML2PDF(File xml, File xslt, File pdf) 
                throws IOException, FOPException, TransformerException {
        //Construct driver
        Driver driver = new Driver();
        
        //Setup logger
        Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
        driver.setLogger(logger);
        MessageHandler.setScreenLogger(logger);

        //Setup Renderer (output format)        
        driver.setRenderer(Driver.RENDER_PDF);
        
        //Setup output
        OutputStream out = new java.io.FileOutputStream(pdf);
        try {
            driver.setOutputStream(out);

            //Setup XSLT
            TransformerFactory factory = TransformerFactory.newInstance();
            Transformer transformer = factory.newTransformer(new StreamSource(xslt));
        
            //Setup input for XSLT transformation
            Source src = new StreamSource(xml);
        
            //Resulting SAX events (the generated FO) must be piped through to FOP
            Result res = new SAXResult(driver.getContentHandler());

            //Start XSLT transformation and FOP processing
            transformer.transform(src, res);
        } finally {
            out.close();
        }
    }


    public static void main(String[] args) {
        try {
            System.out.println("JAVA XML2PDF:: FOP ExampleXML2PDF\n");
            System.out.println("JAVA XML2PDF:: Preparing...");

            //Setup directories
			File base = new File("../");
            File baseDir = new File(base, "in");
            File outDir = new File(base, "out");
            outDir.mkdirs();

            //Setup input and output files            
            File xmlfile = new File(baseDir, args[0]);
            File xsltfile = new File(baseDir, args[1]);
            File pdffile = new File(outDir, args[2]);

            System.out.println("JAVA XML2PDF:: Input: XML (" + xmlfile + ")");
            System.out.println("JAVA XML2PDF:: Stylesheet: " + xsltfile);
            System.out.println("JAVA XML2PDF:: Output: PDF (" + pdffile + ")");
            System.out.println();
            System.out.println("JAVA XML2PDF:: Transforming...");
            
            Invokefop app = new Invokefop();
            app.convertXML2PDF(xmlfile, xsltfile, pdffile);
            
            System.out.println("JAVA XML2PDF:: Success!");
        } catch (Exception e) {
            System.err.println(ExceptionUtil.printStackTrace(e));
            System.exit(-1);
        }
    }
}
 

Murray

Top Contributor
Beim Classpath reicht es nicht, ein Verzeichnis anzugeben, in dem sich Jar-Files befinden. Man muss vielmehr jedes einzelne Jar-File explizit aufführen. Seit Java 6 gibt es Classpath-Wildcards; man kann also ein "*" schreiben, um alle Jar-Files eines Verzeichnisses zu referenzieren.
 

Murray

Top Contributor
Um dem nächsten Fehler vorzubeugen: Wilddcards matchen nur JAR-Files; einzelne Class-Files würden damit trotzdem nicht gefunden. Wenn Du auch mit einzelnen Class-Files arbeitest, dann brauchst Du in jedem Fall zwei Einträge.

Also entweder (für alle Java-Versionen)
Code:
options[0].optionString = "-Djava.class.path=C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs;C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\fop.jar";
oder (ab Java 6):
Code:
options[0].optionString = "-Djava.class.path=C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs;C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\*";
 

Chris81T

Mitglied
@Murray:
Vielen Dank, da hab ich nun wieder einiges dazugelernt. Nun wird der FOP auch angestupst, aber bricht irgendwann ab.

Also konkret:
die JAVA main läuft durch, die convertXML2PDF wird aufgerufen und ab der JAVA Zeile 32 ist Schicht (weis das, weil ich da debug Kommentare eingefügt habe) und die letzten Kommentare kommen dann von der C++ Seite wieder.

Von Grund auf sollte doch die JAVA Methode durch den C++ Aufruf komplett durchlaufen (bei mir die main und allem was dahintersteckt) und dann danach weiter im C++ Code.

>> Schon mal so einen Fall gehabt, oder eine Idee :?:

Wenn ich die JAVA Main mit JAVA direkt aufrufe, läuft der FOP ohne Mucken durch.
 

Murray

Top Contributor
Ersetze doch mal - testweise! - Deine Zeile 32 durch
Code:
      Driver driver null;
      try {
        driver  = new Driver(); 
      } catch ( Exception excpt) {
          System.out.println( "Caught unexpected Exception " + excpt);
          excpt.printStackTrace( System.out);
      } catch ( Error err) {
          System.out.println( "Caught unexpected Error " + err);
          err.printStackTrace( System.out);
      }
 

Chris81T

Mitglied
So sieht's nu im JAVA Codeabschnitt aus:
Code:
	//Construct driver
        System.out.println("JAVA XML2PDF:: Construct Driver...");
		//Driver driver = new Driver();
        
		///////////////////////////////////
		Driver driver = null;
	    try {
	      driver  = new Driver();
	    } catch ( Exception excpt) {
	        System.out.println( "Caught unexpected Exception " + excpt);
	        excpt.printStackTrace( System.out);
	    } catch ( Error err) {
	        System.out.println( "Caught unexpected Error " + err);
	        err.printStackTrace( System.out);
	    }
        ///////////////////////////////////
		
        //Setup logger
        System.out.println("JAVA XML2PDF:: Setup logger...");
        Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
        driver.setLogger(logger);
        MessageHandler.setScreenLogger(logger);

        //Setup Renderer (output format)        
        System.out.println("JAVA XML2PDF:: Setup Renderer (output format)...");
        driver.setRenderer(Driver.RENDER_PDF);

Das kommt als Ausgabe:
Using Apache FOP with Java Native Interface...
bool createJavaVM(JavaVM * jvm, JNIEnv * env)
CreateJavaVM success!!

Now try to call the Apache FOP...
bool callApacheFop( JNIEnv * env)
FindClass success!!

GetStaticMethodID success!!

JAVA XML2PDF:: FOP ExampleXML2PDF

JAVA XML2PDF:: Preparing...
JAVA XML2PDF:: Setup input and output files...
JAVA XML2PDF:: Input: XML (..\in\LSPRT03.xml)
JAVA XML2PDF:: Stylesheet: ..\in\LSPRT03.xsl
JAVA XML2PDF:: Output: PDF (..\out\LSPRT03.pdf)

JAVA XML2PDF:: Transforming...
JAVA XML2PDF:: Construct Driver...
Caught unexpected Error java.lang.NoClassDefFoundError: org/apache/fop/apps/Driver
java.lang.NoClassDefFoundError: org/apache/fop/apps/Driver
at XML2PDF.convertXML2PDF(XML2PDF.java:41)
at XML2PDF.main(XML2PDF.java:117)
Caused by: java.lang.ClassNotFoundException: org.apache.fop.apps.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 2 more
JAVA XML2PDF:: Setup logger...
calling FOP success!!
Finished Executing. Bye bye

Hm, NoClassDefFoundError. Die Klasse Driver sollte aber wohl in der jop.jar drin sein?! Oder?

Also wegen den "includes". So sieht nun meine options aus:

Code:
options[0].optionString = "-Djava.class.path=
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\jop.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\batik.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\avalon-framework-cvs-20020806.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\xalan-2.4.1.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\xercesImpl-2.2.1.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\xml-apis.jar;
C:\\CHT\\Test- Projects\\ApacheFopJni\\fopLibs\\XML2PDF.class";

Das sind laut der FOP Doku alle, die benötigt werden. Und hab noch die eigentliche Class einfach noch mit angegeben.

Ich seh das Problem nocht nicht so ganz, bzw. was man noch angeben muss :?:

PS: XML2PDF ist gleich dem oben genannten "Invokefop" (nicht beirren lassen)
 

Chris81T

Mitglied
@all:

Immer wieder diese Tippfehler, die man auf Anhieb nicht sieht :shock:

Kann ja auch schlecht gehen, wenn man anstatt fop -> jop im Classpath angibt. Jetzt läuft's :D


Nochmal großen Dank an Murray!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
H Apache fop - OutOfMemoryError Allgemeine Java-Themen 10
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2
I Apache POI Bild in Word ersetzen Allgemeine Java-Themen 15
O xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN Allgemeine Java-Themen 6
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
L APACHE POI PIVOT TABELLEN Allgemeine Java-Themen 4
L Apache POI Datenquelle Allgemeine Java-Themen 1
S Apache POI Filtern nach bestimmten Kriterium Allgemeine Java-Themen 1
L JavaFX JavaFX Chart in Apache Poi Excel Datei Allgemeine Java-Themen 2
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
F Input/Output NullPointerException, aber wieso? [Apache POI] Allgemeine Java-Themen 11
F Input/Output NullPointerException with Apache POI Allgemeine Java-Themen 7
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
J Apache POI - No external workbook with name Allgemeine Java-Themen 5
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
MiMa Apache Tika: Warnmeldungen und Beispielcode Allgemeine Java-Themen 12
X Performance für Tomcat / Apache optimieren Allgemeine Java-Themen 2
G Ant Probleme bei einer Installation die Apache ant+ivy verwendet Allgemeine Java-Themen 14
FrittenFritze Swing Apache Batik - Zoom an einer bestimmten Stelle Allgemeine Java-Themen 4
K Apache poi: Deprecated getCellType Allgemeine Java-Themen 3
J Apache POI Excel- Blattschutz aufheben Allgemeine Java-Themen 2
I Apache POI Word Text einfügen Allgemeine Java-Themen 26
T Geschlossen: Apache POI - Excel einlesen Allgemeine Java-Themen 0
K Apache POI Word Tabelle Zellen verbinden Allgemeine Java-Themen 4
K Apache POI Word Tabelle Spaltenbreite festlegen Allgemeine Java-Themen 7
K Apache POI Word bestimmte Textstellen bearbeiten Allgemeine Java-Themen 1
R Apache POI XSSF Allgemeine Java-Themen 2
E Apache POI Powerpoint Verlinkungen ändern Allgemeine Java-Themen 4
T xls-Datei per Apache Commons CsvParser einlesen UTF-8 Zeichen russische Zeichen Allgemeine Java-Themen 2
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
S Eclipse Apache Camel FTP: Fehlerbehandlung, wie? Allgemeine Java-Themen 2
H Excel Datei einlesen mit Apache POI Allgemeine Java-Themen 1
GianaSisters Apache POI - Hyperlink erstellen Allgemeine Java-Themen 0
reibi Apache PDFBox Allgemeine Java-Themen 0
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
C Was bekomme ich eine Nullpointerexception? (Apache POI) Allgemeine Java-Themen 3
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
H Apache POI HSSF - Farbe/Rahmen etc. ohne Style-Vorlage? Allgemeine Java-Themen 4
E Apache POI-Datei lesen und umschreiben Allgemeine Java-Themen 8
G Input/Output Apache POI Excel Allgemeine Java-Themen 5
L Apache CLI: Args[] übergeben Allgemeine Java-Themen 3
P docx mit Apache POI auslesen, verändern und zurückschreiben Allgemeine Java-Themen 2
N Applet Apache Poi Wert einer Formel ausgeben Allgemeine Java-Themen 5
L Apache Common CLI Allgemeine Java-Themen 4
J Webstart (auf Apache) jnlp wird nicht geladen Allgemeine Java-Themen 2
S HTTP Apache HTTPClient Problem Allgemeine Java-Themen 4
R org.apache.http kompletter Internetausfall Allgemeine Java-Themen 7
J xlsx Dateien lesen OHNE apache POI Allgemeine Java-Themen 6
V Für was benötigt man Apache Common Allgemeine Java-Themen 3
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
V Apache POI Excel Sheet auslesen Allgemeine Java-Themen 5
B Problem mit RegEs und org.apache.regexp.RE Allgemeine Java-Themen 5
T Apache POI Export EXCEL - [Zahlen-Werte] Allgemeine Java-Themen 1
Landei Erfahrungen mit JavaConfig oder Apache Commons Config? Allgemeine Java-Themen 3
J Apache FTPClient upload Allgemeine Java-Themen 3
A Apache License, Version 2.0 Allgemeine Java-Themen 7
S Bzip2 apache commons-compress Allgemeine Java-Themen 3
C Apache POI(HSSF) Conditional Formatting Allgemeine Java-Themen 3
G Apache soll mit SVN zusammenarbeiten Allgemeine Java-Themen 3
E Apache Commons - PropertyConfiguration - Autosave Allgemeine Java-Themen 2
G Servlet über apache Tomcat ansprechen Allgemeine Java-Themen 6
alexpetri DirectoryWalker apache.commons Allgemeine Java-Themen 3
S Apache Commons Net geht nicht Allgemeine Java-Themen 5
G mit Apache-Jakarta-POI auch Graphiken aus Excel einlesen? Allgemeine Java-Themen 3
T Apache Lucene Allgemeine Java-Themen 2
Q Ant und org.apache.log4j.xml.DOMConfigurator Problem Allgemeine Java-Themen 2
M Java Webserver - Tomcat alleine oder zusammen mit Apache? Allgemeine Java-Themen 3
M Unsicher, ob das Code richtig ist Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
schemil053 Methoden Code-Verbesserung Allgemeine Java-Themen 2
D Webarchive (war): Code verschleiern Allgemeine Java-Themen 7
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
berserkerdq2 Versteht jemand, was diese beiden Zahlen bei dem IJVM Code zu bedeuten haben? Allgemeine Java-Themen 10
OnDemand Releaseversion Tag in Code Allgemeine Java-Themen 5
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
F Code auslagern Allgemeine Java-Themen 5
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
A code wird nicht ausgeführt Allgemeine Java-Themen 3
B Bitte um Code Erklärung Allgemeine Java-Themen 5
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
OnDemand Clean Code oder Allgemeine Java-Themen 5
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
AGW in Java-Code plötzlich ein paar Wörter in Rot Allgemeine Java-Themen 2
L Best Practice Auslagerung von Code = Performance Optimierung? Allgemeine Java-Themen 4
H Precompilierten code ansehen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben