Programm mit eigenem ClassLoader funktioniert nicht

Status
Nicht offen für weitere Antworten.

Der Papa

Mitglied
Hallo,

ich habe ein Kleines Testprogramm mit einem eigenen ClassLoader, den ich von UrlClassLoader abgeleitet habe und die Methode findClass() überschrieben habe um die Klasse aus einer Datei mit eigener Dateierweiterung zu laden.
Ich rufe in findClass() die Methode defineClass() und auch resolve() auf. Die Arbeit vom Klassloader wird scheinbar fehlerfrei durchlaufen (ohne Exceptions), wenn ich debugge.

Nun tritt aber beim erzeugen einer Instanz mit c.newInstance(); dieser neuen Klasse immer der Fehler auf:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: testcryptclasses/EinfachKlasse

Ich vermute es liegt daran, dass er mit der Zuordnung des Packages Probleme hat. Ich habe nur bisher in keinem Buch genaue Hinweise gefunden, wie ich Klassen einem Package zuordnen kann, falls das der Fehler ist. Kennt sich hier vielleicht jemand richtig mit ClassLoader aus?

Genaugenommen will ich meinen Programmcode verschlüsseln und mit diesem ClassLoader zur Laufzeit entschlüsseln. Aber wie ich oben geschrieben habe wird das nun schon im Ansatz erstickt.

Über qualifizierte Hilfe wäre ich sehr dankbar.

Gruß, Tom.
 
S

Spacerat

Gast
Hi, Papa.
Das kommt mir bekannt vor. Den selben hatte ich auch. Das liegt daran, das beim Aufruf von defineClass() nicht automatisch ein Package erstellt wird. Hab' hier mal nen Code-Schnipsel meiner Lösung.
Code:
private final Class defineClass(String name, byte[] b, int offset, int length)
{
    String pname = name.substring(0, name.lastIndexOf("."));
    if(pname != null) try {
        super.definePackage(pname, null, null, null, null, null, null, null);
    } catch (Exception e) {
    }
    return super.defineClass(name, b, offset, length);
}

Das erstellt zusätzlich auch gleich das gewünschte Package.

cu Spacerat

@Edit: Übrigens 'ne hypergeniale Idee... mit dem kodieren.
 

Der Papa

Mitglied
Hallo Spacerat,

vielen Herzlichen Dank für Deine Antwort. Scheinbar gibt es nicht so viele, die sich mit der Materie beschäftigen. In den Büchern finden sich in der Regel nur Beispiele ohne Packages und wenn ich dann mal einen Hinweis entdecke, ist der so schwach erläutert, dass ich auch nicht weiss, was in nun wirklich tun muss.

Das mt dem definePackage habe ich zwar auch schon rausbekommen. Allerdings habe ich da durch Glück den angeblichen Sourcecode von URLClassLoader bekommen. Dem nach zu folgen, habe ich erst mit getPackage() gekuckt, ob das Package schon existiert. Dies war der Fall, und meine Klasse hat somit das Package nicht neu definiert, weil ich dachte, dass ich das nun nicht mehr brauche.

So eine Ahnung von der Lösung, wie Du sie mir gepostet hast hatte ich auch schonmal überlegt, aber nicht ausprobiert. Daher bin ich nun um so mehr froh, dass dies wirklich schon der Fehler sein könnte.

Ich werds gleich ausprobieren.

Gruß, der Papa.
 

Der Papa

Mitglied
Hallo Spacerat,

leider habe ich immer noch den gleichen Fehler.

Mein Code sieht folgendermaßen aus, vielleicht kannst Du ja was erkennen.
Code:
 /*****************************************************************************
  * Die von Java-System bisher noch nicht gefundene (verschlüsselte) Klasse
  * selber lokalisieren, entschlüsseln und zurückgeben.
  ****************************************************************************/
public Class findClass(String name) throws ClassNotFoundException
  {
    // Dieses Array nimmt den Bytecode auf.
    byte[] byteCode = null;
    // Zusammensetzen des Dateinamens (Name muss mit Package-Bezeichnung übergeben werden)
    String fileName = name.replace('.',File.separatorChar)+".class."+CRYPT_EXT;
    String packageName = null;
    int lastDot = name.lastIndexOf('.');
    if (lastDot != -1)
       packageName = name.substring(0, lastDot);


    try {
      //Entschlüsseln der Datei und Einlesen des Bytecodes
      //byteCode = decryptFile(fileName);

      // Testfunktion aufrufen
      byteCode = loadFromFile(fileName);
    }
    catch(Exception e) {
      throw new ClassNotFoundException("ErinnerungsVektor Security Klasse "
                                       +name+" wurde nicht gefunden.", e);
    }

    // Package
    if (packageName != null)
    {
      try{
        // define the package
        super.definePackage(packageName, null, null, null, null, null, null, null);
      }catch(Exception ex1){}
    }

    // Klasse in der VM erzeugen und Class-Objekt zurückliefern
    Class c = defineClass(name,byteCode, 0, byteCode.length);

    return c;
  }

  /*****************************************************************************
   * Testfunktion zur laden einer eigenen Klasse, die nur einen anderen Datei-
   * namen hat.
   ****************************************************************************/
  private byte[] loadFromFile(String srcFileName) throws IOException
  {
    File f = new File(srcFileName);
    int len = (int)f.length();
    byte[] resultBytes = new  byte[len];
    DataInputStream dis = new DataInputStream(new FileInputStream(f));
    dis.readFully(resultBytes);
    dis.close();
    return resultBytes;
  }
Vorher hatte ich an der Stelle if(packageName != null) folgendes stehen: if(getPackage(packageName)==null)....
Da hat der den Codeteil gar nicht ausgeführt, weil das Package bereits von einem anderen Classloader der Hirarchie definiert wurde. Und jetzt wird von definePackage eine Exception geworfen, die als Information nur den Package-Name beinhaltet. Weißt du da vielleicht auch noch eine Lösung.

Bitte schick mir auch etwas mehr Code mit, damit ich vergleichen kann.

Gruß, Tom.
 

Der Papa

Mitglied
Hallo zusammen,

also ich habs jetzt mal ohne Packages versucht. Soll heißen: Alle Klassen meines kleinen Testprogramms gehören keinem Package mehr an (also Standardpackage). Nun habe ich allerdings noch die gleiche Error-Meldung NoClassDefFoundError.
Die bytes müssten eigentlich richtig eingelesen werden, denn wenn ich nicht mit DataInputStream einlese, sondern nur mit FileInputStream und ByteArrayOutputStream zum erzeugen des ByteArray's, dann bekomme ich ClassFormatError schon beim definieren der Klasse.
???:L
Habe ich da vielleicht irgendein Pfadproblem, wie andere, die auch ohne eigenen ClassLoader die Meldung NoClassDefFoundError erhielten?
Hat jetzt nicht jemand noch ne Idee?

Mit besten Grüßen, Tom.
 

Mag1c

Top Contributor
Moin,

an welcher Stelle kommt den der Error ? Hast du mal geschaut, welche Klassen alle über findClass(...) gesucht werden ? NoClassDefFoundError kommt normalerweise, wenn beim Laden einer Klasse irgendwelche Abhängigkeiten nicht erfüllt sind (Super-Klassen, Klassen der Methodenparameter,...).

Gruß
Mag1c
 

Der Papa

Mitglied
Hallo Mag1c,

der Fehler wird genau dann ausgelöst, wenn ich die geladene Klasse in der Aufrufenden Klasse des Programms instazieren und das Objekt in die gewünschte Klasse caste "(EnfachKlasse)c.newInstance();".
Code:
public TestAnwendung()
  {
    try{
      ccloader = new ConvertClassLoader();
      c = Class.forName("EinfachKlasse",true,ccloader);
      System.out.println("Geladene Klasse: \n"+c);
      ek = (EinfachKlasse)c.newInstance();
    }catch(Exception e)
    {
      System.err.println(e.getMessage());
      System.exit(1);
    }

Ich vermute ich mache irgendeinen trivialen Fehler, denn wenn ich nur den Name der Datei in EinfachKlasse.class ändere und diese dadurch vom SystemClassLoader geladen wird, dann funktioniert alles super. Nur wenn ich meinen eigenen ClassLoader benutze habe ich diesen Fehler.

Bis demnächst, Tom.
 

Mag1c

Top Contributor
Moin,

- hast du mal ein System.out in die findClass eingebaut, so daß du mal siehst, was dort alles gesucht wird ?

- benutzt dein ClassLoader einen Parent-ClassLoader ?

Gruß
Mag1c
 
S

Spacerat

Gast
Das wirds sein... Natürlich verwendet der CassLoader einen Parent (Im zweifelsfalle den System-ClassLoader.). Bei mir hat sich im folgenden noch so ein Fehler eingeschlichen, das bei einem Aufruf von "defineClass()" die definierte zu meinem Classloader gehörte, während MemberKlassen und alle anderen Abhängigkeiten zum Parent-Classloader gehörten (oder bereits schon vor "defineClass()" im Parent definiert waren). Ein anschliessender Aufruf von "Class.forName(name, true, cl)" ergab nun einen NoClassDefFoundError und ein Aufruf von "Class.forName(name)" eine IllegalAcessException. Letztenendes konnte ich das nur so lösen, das ich die zu ladenen Klassen in ein "statisches" Verzeichnis ausserhalb des ClassPath lege (Parent findet nun keine einzige Klasse mehr!) und alle Abhängigkeiten selbst "resolven" (Ui, das gab ein gecache...) indem ich jedes einzelne "Throwable" abfange ("catch (Throwable e)" fängt Errors und Exceptions) und im "catch"-Block den Klassenname (Key) und die Bytefolge (Value) in einer HashMap speichere. Anschliessend abe ich diese HashMap in einer Schleife (wieder alles abfangen) sooft durchlaufen lassen, bis sie leer war, oder keine Änderung in Ihrer Grösse mehr aufwies.

Ich präsentiere hier mal ein paar Codeschnipsel mit denen ich das mal versuche darzustellen. (Ist natürlich "DISFUNCTIONAL" ...hier jedenfalls).
Code:
    static {
    	if(loader == null) {
    		loader = createDummy();
    		loader.register(loader.new DT_SERIALIZEDDATA().getDescriptions());
    		loader.register(loader.new DT_CLASSDATA().getDescriptions());
    		URL url = loader.getResource("datatypes/viewer");
    		if(url != null) loader.scan(url, true);
    		url = loader.getResource("datatypes/codecs");
    		if(url != null) loader.scan(url, true);
    		try {
    			url = new File(home + sp + "classes" + sp + "datatypes" + sp + "viewer").toURL();
    			if(url != null) loader.scan(url, true);
    			url = new File(home + sp + "classes" + sp + "datatypes" + sp + "codecs").toURL();
    			if(url != null) loader.scan(url, true);
    		} catch (MalformedURLException e) {
    		}
    		int sizeold = failCache.size() + 1;
    		while(!failCache.isEmpty() && failCache.size() != sizeold) {
    			sizeold = failCache.size();
    			HashMap tmp = (HashMap) failCache.clone();
    			Iterator it = tmp.entrySet().iterator();
    			while(it.hasNext()) {
    				Map.Entry e = (Map.Entry) it.next();
    				String key = (String) e.getKey();
    				byte[] value = (byte[]) e.getValue();
    				try {
    					Class c = loader.defineClass(key, value, 0, value.length);
    					DataType dd = (DataType) c.newInstance();
    					loader.register(dd.getDescriptions());
    					failCache.remove(key);
    				} catch (ClassCastException ee) {
    					failCache.remove(key);
    				} catch (InstantiationException ee) {
    					failCache.remove(key);
    				} catch (IllegalAccessException ee) {
    				} catch (LinkageError ee) {
    					if(ee.getMessage().indexOf("duplicate") != -1) {
    						try {
    							if(key.indexOf("$") == -1) {
    								DataType dd = (DataType) Class.forName(key, false, loader).newInstance();
    								loader.register(dd.getDescriptions());
    							}
    							failCache.remove(key);
    						} catch (NoClassDefFoundError eee) {
    						} catch (ClassNotFoundException eee) {
    						} catch (ClassCastException eee) {
    						} catch (InstantiationException eee) {
    							failCache.remove(key);
    						} catch (IllegalAccessException eee) {
    						}
    					}
    				}
    			}
    		}
    	}
    }

//Ende init Datatype_Library...

private void scan(URL filename, boolean checked)
{
	try {
		DT_Viewer dtv = getFile(filename, true);
		if(dtv.isDrawer()) {
			String[] list = ((DIRECTORY) dtv).getDir();
			for(int x = 0; x < list.length; x++) scan(new URL(dtv.base, list[x]), true);
		} else if(BINARY.class.isInstance(dtv)) {
			String tmp = dtv.base.getFile();
			tmp = tmp.substring(tmp.indexOf("datatypes"));
			int x;
			if((x = tmp.indexOf(".class")) != - 1 && !tmp.contains("$")) {
                                		Class c = Class.forName(tmp.substring(0, x).replace("/", "."));
				DataType d = (DataType) c.newInstance();
				register(d.getDescriptions());
			} else if((x = tmp.indexOf(".jar")) != -1) {
				addJar(dtv.base);
			}
		}
	} catch (InstantiationException e) {
		boolean bp = true;
	} catch (LinkageError e) {
		boolean bp = true;
	} catch (IllegalAccessException e) {
		boolean bp = true;
	} catch (ClassNotFoundException e) {
		boolean bp = true;
	} catch (FileNotFoundException e) {
		boolean bp = true;
	} catch (IOException e) {
		boolean bp = true;
	}
}

//Ende URL-Scan


private final void addJar(URL jarbase)
{
	try {
		JarFile jf = new JarFile(new File(jarbase.toURI()));
		DT_Viewer dtv = null;
		for(Enumeration e = jf.entries(); e.hasMoreElements();) try {
			JarEntry entry = (JarEntry) e.nextElement();
			InputStream i = jf.getInputStream(entry);
			ByteArrayOutputStream o = new ByteArrayOutputStream();
			int x;
			while((x = i.read()) != -1) o.write(x);
			i.close();
			o.close();
			base = new URL(jarbase, entry.getName());
			buf = o.toByteArray();
			dtv = identify(buf, true);
			if(dtv.isDrawer()) {
				String[] list = ((DIRECTORY) dtv).getDir();
                			for(x = 0; x < list.length; x++) scan(new URL(dtv.base, list[x]), true);
			} else if(BINARY.class.isInstance(dtv)) {
				String tmp = dtv.base.getFile();
				tmp = tmp.substring(tmp.lastIndexOf("datatypes"));
				if((x = tmp.indexOf(".class")) != - 1) {
					Class c = Class.forName(tmp.substring(0, x).replace("/", "."));
					DataType d = (DataType) c.newInstance();
					register(d.getDescriptions());
				} else if((x = tmp.indexOf(".jar")) != -1) {
					addJar(dtv.base);
				}
			}
		} catch (InstantiationException ee) {
			boolean bp = true;
		} catch (ClassCastException ee) {
			boolean bp = true;
		} catch (IllegalAccessException ee) {
			boolean bp = true;
		} catch (ClassNotFoundException ee) {
			defineClass(ee.getMessage(), ((BINARY) dtv).buf);
		} catch (FileNotFoundException ee) {
			boolean bp = true;
		}
	} catch (IOException e) {
		boolean bp = true;
	} catch (URISyntaxException e) {
		boolean bp = true;
	}
	base = null;
	buf = null;
}

//Ende Scan-JarFile


private final Class defineClass(String name, byte[] buffer)
{
	// extract PackageName
	String pname = (name.indexOf(".") != -1)? name.substring(0, name.lastIndexOf(".")) : "";
	if(!pname.equals("")) try {
		definePackage(pname, null, null, null, null, null, null, null);
	} catch(IllegalArgumentException e) {
	}
	Class rc = null;
	try {
		rc = defineClass(name, buffer, 0, buffer.length);
	} catch (NoClassDefFoundError e) {
		failCache.put(name, buffer);
	}
	if(rc != null) try {
		DataType d = (DataType) rc.newInstance();
		register(d.getDescriptions());
	} catch (ClassCastException e) {
	} catch (IllegalAccessException e) {
		boolean bp = true;
	} catch (InstantiationException e) {
		boolean bp = true;
	} catch (NoClassDefFoundError e) {
		failCache.put(name, buffer);
		rc = null;
	} catch (Throwable e) {
		boolean bp = true;
	}
	return rc;
}

//Ende defineClass

So nun hoffe ich, das das nicht mehr Verwirrt als hilft. Ach so... Die IllegalAccessException bekam ich, weil der Parent meine Protegierten Klassen meines eigenen Loaders nicht Laden konnte. Das ist durchaus verständlich.

cu Spacerat
 

Der Papa

Mitglied
Hallo Spacerat,
das ist doch Hirnlos, wenn man Klassen nicht mit einem eigenen ClassLoader laden kann, weil Abhägige Klassen bereits zu einem anderen ClassLoader gehören und dann die Namensauflösung nicht mehr funktioniert. Das kann doch nicht von Sun so gewollt sein.

In meinem kleinen Testprogramm könnte ich theoretisch auch alle Klassen mit meinem ClassLoader laden, aber bei dem Programm für das diese Technik vorgesehen ist, wäre mir das zu viel Arbeit, den ganzen Code umzuschreiben (45 Klassen). Muss doch noch was anderes gehen.

Ich danke Dir aber trotzdem für Deine Hilfe, weil ich jetzt wenigstens etwas sicherer bin wo der Fehler liegt. Bin froh dass jemand auf dem Gebiet Erfahrungen hat.
Gibt es denn eine (sinnvolle) Konstellation von Klassen in einem Programm, die es erlaubt, einfach eine Klasse mit einem eigenen ClassLoader zu laden, ohne dass Abhängkeitsprobleme entstehen?

See your later, Aligator
 
S

Spacerat

Gast
Naja... Das ganze kann man noch um die ganzen Breakpoints (boolean bp = true) und die mehrfachen überflüssigen Exception-Abfänge kürzen (i.E. catch (Throwable e)).
Und auf die Frage, ob das von Sun so gewollt ist... Nun, ich habe keine Ahnung. Wie gesagt, zwei verschiedene Klassen von ein und demselben Paket (eine davon "protected"!) wurden ungewollt auf zwei Klassenloader verteilt und das gab diese Exceptions. Sicher ist, das die Klassen eines parent Loaders eigentlich auch für den Child-Loader zur Verfügung stehen (es sei denn es handelt sich um "protected"- oder "private"-Klassen oder wie?)
Desweiteren experimentiere ich gerade mit einem URL-Classloader, bei welchem man auch Jar-Dateien als "Klassenpfad" (URL) übergeben kann. Sprich, mit diesem ClassLoader wird sozusagen der ClassPath um diverse URLs (mit addURL()) erweitert. Nun müssen diese Klassen nur noch mit Class.forName("KLASSENNAME") gefunden werden. Ich halte dich darüber mal auf dem laufenden.
Im übrigen ist mir mein Code auch zu lang und ausserdem streikt er auch noch beim laden der Klassen z.B. über das "http"-Protokoll.
 

Der Papa

Mitglied
Hallo, alle die es interessiert.
Ich hon das Problemchen gelüftet.
Mein Programm hat den NoClassDefFoundError geschmissen, weil ich die selbstgeladene Klasse samt Package per Import in mein Programm eingebunden habe, daraufhin vermutet die vm, dass die Klasse beim SystemClassLoader zu holen ist, wenn ich die geladene Class c in die tatsächliche Klasse Caste.
Der Name der Klasse die ich laden will, kann also noch gar nicht bekannt sein bevor ich Sie explizit mit meine classLoader geladen habe.
Ich kann die Klasse als nicht per Import schon einbinden. Daraus folgt, dass ich im Code den tatsächlichen Klassennamen nicht hinschreiben kann um Class c in meine "EinfachKlasse" zu casten, weil ich sonst einen Compilerfehler erhalte, denn der Compiler kennt die Klasse nicht.

Meine Lösung:
Für jede Klasse, die ich selber nachladen will, habe ich ein Interface erstellt, dass von diesen Klassen implementiert wird und das die Methoden definiert, die diese Klasse dem Programm bereitstellt. Diese Interfaces sind ganz normal im entsprechenden Package im Classpath enthalte und werde per Import geladen.
Wenn ich nun meine "EinfachKlasse" mit meinem ClassLoader galaden habe weise ich diese geladene Class c dem zugehörigen Interface zu und alles ist im Lot auf'm Boot. :toll:

Mit besten Grüßen, Tom.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Programm startet nur auf eigenem Rechner??? Allgemeine Java-Themen 6
A jpeg Files mit eigenem Programm öffnen Allgemeine Java-Themen 4
H externe JARs in eigenem Programm-Jar einbinden. Allgemeine Java-Themen 5
W Externes Programm beenden mit eigenem Programm beenden Allgemeine Java-Themen 7
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
B Programm updaten mit FXLauncher Allgemeine Java-Themen 1
D Nicht quelloffenes Programm Allgemeine Java-Themen 5
F Java-Programm lizensieren Allgemeine Java-Themen 21
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
X Aus Programm "Installationsprogramm" machen Allgemeine Java-Themen 6
T Java Programm in Internetseite? Allgemeine Java-Themen 4
T Java Programm frisst RAM Allgemeine Java-Themen 6
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
Neumi5694 Offenes Programm nutzen Allgemeine Java-Themen 4
L Java-Programm Zahlenkombinationen ausgeben Allgemeine Java-Themen 10
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22

Ähnliche Java Themen

Neue Themen


Oben