# Mit den Nerven am Ende :)



## NbertBerlin (18. Jul 2007)

Hallo ihr lieben,

hab nun doch den Weg in ein Forum gesucht, da ich alleine auch mit der unglaublichen Macht des google nicht mehr weiter komme...

Folgendes Problemchen: [wer das einleitende Geplänken überspringen möchte bei *"Aussage"* steht das entscheidende Problem]

Hab ein etwas größeres Projekt als Studienarbeit auferlegt bekommen und da ich eine GUI basteln musste hab ich mich bei der Entwicklungsumgebung für Netbeans entschieden. (Erstens weil ichs schon kannte und weil das GUI basteln leichter war als mit eclipse)

Es läuft eigentlich alles (also es lässt sich alles im Netbeans starten und ausgiebig testen)
Nun bin ich aber an dem Punkt angelangt, an dem ich gern eine einzelne .jar oder .exe hätte, mit der sich das Ding starten lässt... denn wenn ichs dem Prof zumute, sich neben dem Datenbankzeugs auch noch Netbeans installieren zu müssen, um sich das Programm ansehen zu können dann wird sich das sicher ziemlich auf seine Bewertungstagesform auswirken..

Status:
ich kann mit NB5.5 eine semesterprojekt.jar erzeugen.
wenn ich diese -"-.jar mit Doppeklick starte, erscheint mein Startfenster. Soweit also alles schick.
Exit-Button tut was er soll. Geb ich jedoch das Passwort ein und drück Login, verschwindet das Fenster (soweit auch noch gewollt, da sich ja ein neues öffnen soll) und es passiert nichts mehr. (Da Programm schließt sich dann scheinbar automatisch, denn es ist nicht im Taskman. und wirft keinen Fehler)

Auf der Suche nach einer Lösung bin ich auf jsmooth gestoßen, mit dessen hilfe ich die jar problemlos in eine exe umwandeln kann... soweit sehr hübsch. 
Beim Starten selber Ablauf, gleiche Reaktion meines Programms.
Jsmooth bietet die Möglichkeit eine Debug-Console im Hintergrund laufen zu lassen und diese wirft mir nun folgende *Aussage:*


```
[i]Exception in thread „AWT-EventQueue-0“ java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
		at semesterprojekt.LoginFrame.Login(LoginFram.java:266)
…[/i]
```

in der Klasse LoginFrame ist an Zeile 266 der Aufruf des nächsten Fensters ( Add.run(owner) )


```
[i]static void run(String ownerName){
        begin = new Add();
...[/i]
```

der Konstruktor 


```
[i]public Add() {
        initComponents();
        new SetFrame(this).dimRelated(2,3);
    }[/i]
```

ruft dann die initComponents auf, die Netbeans automatisch erstellt und in dieser initComponents wird der oben beschriebene Klassenpfad für das GroupLayout zum anordnen der Elemente im Fenster genutzt.
Das sieht dann u.a. so aus


```
[i]org.jdesktop.layout.GroupLayout WelcomePaneLayout = new org.jdesktop.layout.GroupLayout(WelcomePane);[/i]
```


Nun meine *Frage*

Da es offensichtlich nur an diesem (scheinbar netbeanseigenen) Layout liegt, würde ich, sofern es keine Elegantere Lösung gibt, alle momentan noch im "freedesing" gestallteten Fenster von hand im Absolutedesign zu gestallten...
das ist bei irgendwas um die 20 Frames allerdings etwas anstrengend! ...

Ich hab bereits eine org-jdesktop-grouplayout.jar im NB5.5 Verzeichnis ausmachen können und zu den Projekt-Libaries hinzugefügt, aber das hat noch nix bewirkt.. 


So hoffe jemand macht sich die Mühe mal über die etwas breite Problembeschreibung hier drüber zu gucken und hat ne Idee wie ichs lösen könnte!?

Gruß und danke fürs Lesen Nbert


----------



## WieselAc (18. Jul 2007)

Hallo

Zuerst einmal: Du kannst das jar über die Konsole starten, dann brauchst du nicht den Umweg über die exe zu gehen, um den Fehler zu sehen 

und dann:

Dein problem ist, dass dein Programm zur Laufzeit ein externes jar benötigt "org.jdesktop.layout" dieses ist aber anscheinend nicht in deinem Jar integriert oder alternative auch nicht im Classpath vorhanden.

Binde das jar entweder mit ein, oder setzt test weise den Classpath von Hand drauf. Schon solte es eigentlich laufen.


----------



## NbertBerlin (18. Jul 2007)

Nachdem ich beim versuch den klassenpfad mauell anzupassen (danke für den Tipp!) is mir aufgefallen, dass es mehrere org-jdesktop-layout.jar geben muss und bin danke Windows-desktop-search in 3,6 Sekunden auf drei weitere dieser Kammeraden gestoßen... 
Alle drei in die Projektlibary integriert läuft das programm jetzt endlich... 

Danke für den so banalen aber wirkungsvollen Ratschlag!

LG Nbert

PS: Nun, da das Programm läuft eine eher javaferne Frage:

Ich benutze momentan zur Bereitstellung der Relationalen DB das Programm "xampp" ...
des enthält aber nach meinem Eindruck ne menge unnötiger Komponenten. 
Gibts ne abgespeckte Version oder ein simples MySQL-tool, dass sich mit in die Installation meines Programm basteln ließe?


----------



## @x.l (19. Jul 2007)

Wenn es nicht unbedingt MySQL sein muss, kannst du doch HSQLDB in dein Projekt mit einbinden. So lieferst du die DB gleich mit.


----------



## NbertBerlin (19. Jul 2007)

Habs mir mal gesaugt und versuch grad es gescheit zu integrieren.
Es scheitert aber bereit am erstellen der nötigen DB-Tabellen 
Also: 
Ich kann die Tabellen mitlerweile erzeugen, jedoch werden alle nach der Laufzeit des Programms wieder gelöscht.. die DB ist also immer wieder leer..


----------



## AlArenal (19. Jul 2007)

Da hilft nur eins: In Ruhe Doku lesen und den zur Aufgabe passenden Tabellentyp verwenden...


----------



## NbertBerlin (19. Jul 2007)

Hab mich durch die Doku gequält und war erfolgreich!

Die Db ist nice, läuft sauber und es hat mich auch nur 10 Stunden gekostet, die ganzen DB-Zugriffe zu adaptieren 

Nun ist alles Schick! Danke nochmal an alle die geholfen haben.. 

Greetingz Nbert


----------

