JNLP und ein jar mit einer Access DB

Status
Nicht offen für weitere Antworten.

JRookie

Aktives Mitglied
Hallo zusammen,

Mein Problem: Meine Anwendung soll verteilt werden auf andere Rechner. Jar Datei signieren, JNLP erstellen webSeiten Link ... alles klar, das Ding läuft auch los, bis zu einem bestimmten Punkt ...
Was macht meine Anwendung? Sie holt Daten aus dem Netz und schreibt sie in eine MS Access .mdb Datei.
Wenn meine Anwendung nun auf einem anderen Rechner laufen soll, dann muss er das Verzeichnis (Access_DB) und die Tabelle (Depot.mdb) finden (Verzeichnis und mdb Datei sind natürlich im jar).

Als .bat Datei funktioniert das, ich packe vorher das Verzeichnis aus:
Aus der .bat Datei:
jar vxf depot.jar Access_DB/Depot.mdb
java -jar Depot.jar

Wie kann ich das bei einer JNLP Datei erreichen ???
Danke im voraus
JRookie
 
T

tuxedo

Gast
Du kannst doch bei Webstart auch Ressourcen mitliefern die _nicht_ in der JAR drin sind. Dann musst du auch nix auspacken. Wie steht in der SUN Webstart-Doku.

- Alex
 

JRookie

Aktives Mitglied
Nö, geht nicht, oder ich weiss nicht. Hier mal mein JNLP file:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
  codebase="file:///c:"
>
<information>
  <title>Depot</title>
  <vendor>me, myself & I</vendor>
  <homepage href="/jdc" />
  <description>Depot Start</description>
</information>
<offline-allowed/>
<security>
     <all-permissions/> 
</security>
<resources>
  <j2se version="1.2+" />
  <href="F:Entwicklung/Java/Access_DB/Depot.mdb" download="eager"/>
  <jar href="Depot.jar"/>
</resources>
<application-desc main-class="Depot" />
</jnlp>

Wird ausgeführt ohne mit der Wimper zu zucken. Keine Meldung, aber auch keine Depot.mdb Datei.
Ich find nirgendwo ein Beispiel, dass das schon mal gemacht wurde
Ratlos
JRookie
[/code]
 
T

tuxedo

Gast
Suchen und lesen hilft.

Schau mal diesen Thread hier an (GANZ LESEN!): http://www.java-forum.org/de/viewtopic.php?t=57497&postdays=0&postorder=asc&start=0

Da gings zwar nicht um ne Access-File, sondern um eine XML. Das Prinzip ist aber fast das gleiche.

Du hast jetzt 2 Möglichkeiten:

1) Jeder Webstartbenutzer soll seine eigene Access-File benutzen (also kein Multiuser-Betrieb auf die Access-DB):
Dann packst du die File wie im Thread beschrieben in die JAR mit rein, ließt sie beim ersten Programmstart aus der JAR File (die Sache mit "Resource as Stream") raus und sicherst sie beim User auf der Platte und benutzt zukünftig die lokal gespeicherte Datei (wenn du mit der File arbeiten [lesen und schreiben] willst, dann muss sie irgendwo lokal verfügbar sein).

2) Jeder Webstartbenutzer greift auf die gleiche Access-File zu: Dann ist die Sache mit Webstart völlig wurscht. Leg die File irgendwo zentral ab und konfiguriere deinen per Webstart zu startenden Client so, dass er selbst weiß (oder der User es angeben kann) wo sich die Access-File befindet (Netzwerkfreigabe oder sowas).

Alles in allem: Ein wenig suchen hilft immer.

- Alex

edit: Für Fall 1 könnte dir auch das hir helfen: http://rachel.sourceforge.net/ ... Ist allerdings GPL ...
 

JRookie

Aktives Mitglied
So, alles klar,
die Lösung geht über den classLoader. Den Inputsteam in das Objekt umleiten, dass man braucht. In meinem Fall ein File.

Code:
			ClassLoader cl = this.getClass().getClassLoader();  

			InputStream mymdb  = cl.getResourceAsStream("Access_DB/Depot.mdb");
			if (mymdb != null)  {
				int numbytes = mymdb.available() ;
				System.out.println( "numbytes: " + numbytes);	
				File myfile  =  new File ("Depot.mdb");
				fos= new FileOutputStream(myfile);
				int test = 0 ;
				while (test != -1) {
					test = readabyte (mymdb);
					if (test != -1)  {
						//	System.out.println( "Jo, was geschrieben ! " + readabyte (mymdb)+ " Jetzt write ");	
						fos.write(test);
					}
				}

				fos.flush() ;
				fos.close();  
				mymdb.close(); 
				boolean wr = myfile.canWrite();
				System.out.println( "wr: " + wr);
				boolean exec = myfile.setExecutable(true) ;
				System.out.println( "exec: " + exec);	
				conn = AccessJDBCUtil.getAccessDBConnection("C:/Depot.mdb"); 
				stmt = conn.createStatement(); 
			}
			else  {
				conn = AccessJDBCUtil.getAccessDBConnection("Access_DB/Depot.mdb"); 
				stmt = conn.createStatement(); 
			}
		}

Das grade geschriebene File lässt sich dann als access Datenbank öffnen.
Wenn ich das Programm unter eclipse in meiner Arbeitsumgebung laufen lasse, ist mymdb tatsächlich null, aber da habe ich ja meine Arbeitsversion der Datenbank im Entwicklerverzeichnis liegen. Der else Zweig ruft direkt auf.
Danke für den Tipp
Viele Grüße
JRookie
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
VfL_Freak Icon einer JNLP-Datei ändern ?? Tools - Maven, Gradle, Ant & mehr 2
S Webstart Webstart einer Applikation mit einer veralteten JNLP-Datei Tools - Maven, Gradle, Ant & mehr 6
D Ant JAR-Ressourcen in JNLP-Datei sind nicht von demselben Zertifikat signiert Tools - Maven, Gradle, Ant & mehr 2
Guybrush Threepwood JNLP Launch-Icon fehlt Tools - Maven, Gradle, Ant & mehr 3
S Webstart JNLP Update Element - kein Info-Fenster über Updates? Tools - Maven, Gradle, Ant & mehr 7
A JNLP Signieren Tools - Maven, Gradle, Ant & mehr 3
S JNLP und GIF Tools - Maven, Gradle, Ant & mehr 11
jemandzehage .jnlp mit JOGL startet nicht korrekt Tools - Maven, Gradle, Ant & mehr 9
O Webstart Mit Buckminster JNLP erzeugen Tools - Maven, Gradle, Ant & mehr 5
F Webstart JNLP Problem mit LIB Tools - Maven, Gradle, Ant & mehr 3
G Webstart JNLP - AccessControlException Tools - Maven, Gradle, Ant & mehr 18
R Webstart JNLP Signierung Tools - Maven, Gradle, Ant & mehr 13
R Web Start / jnlp datei Tools - Maven, Gradle, Ant & mehr 28
Z Fehlermeldung JNLP Tools - Maven, Gradle, Ant & mehr 3
M WebStart Verknüpfung reinstalliert sich - Fehler in JNLP? Tools - Maven, Gradle, Ant & mehr 4
T jnlp-Datei: Fehler in Zeile 0? Tools - Maven, Gradle, Ant & mehr 6
A JNLP Datei aus Application laden Tools - Maven, Gradle, Ant & mehr 4
J [Webstart] jnlp dynamisch erstellen Tools - Maven, Gradle, Ant & mehr 8
H Nutzung einer eigenen checkstyle Konfiguration in Jenkins - Grundsätzliches Tools - Maven, Gradle, Ant & mehr 2
D Maven Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version Tools - Maven, Gradle, Ant & mehr 11
N Ant [Android] Skript zum bauen einer .pak-Datei. Tools - Maven, Gradle, Ant & mehr 1
N Webservice Einbinden einer WSDL Tools - Maven, Gradle, Ant & mehr 11
G Maven Goals in einer phase ausführen Tools - Maven, Gradle, Ant & mehr 1
S Versionierung und automatischer FTP-Upload einer Webstart-Anwendung Tools - Maven, Gradle, Ant & mehr 3
S Problem bei Nutzung einer eigenen EJB in einem Servlet Tools - Maven, Gradle, Ant & mehr 2
A Auslesen einer .txt Datei auf Server mit Digest Authentifizierung Tools - Maven, Gradle, Ant & mehr 2
G Ant in einer Batch Datei Tools - Maven, Gradle, Ant & mehr 6
P Problem beim Senden einer Datei Tools - Maven, Gradle, Ant & mehr 5
N Signiertes Applet verbindet sich nicht mit einer DB Tools - Maven, Gradle, Ant & mehr 6
J Daten von einer Webseite bearbeiten Tools - Maven, Gradle, Ant & mehr 4
A Applet aus einer Klasse starten 2 Tools - Maven, Gradle, Ant & mehr 8
A Applet aus einer Klasse starten Tools - Maven, Gradle, Ant & mehr 2
D Applet aufruf einer anderen Klasse funktioniert nicht Tools - Maven, Gradle, Ant & mehr 7
G mehrere Applets auf einer Seite Tools - Maven, Gradle, Ant & mehr 7
N Java Applet mit einer GUI erstellen Tools - Maven, Gradle, Ant & mehr 5
B Einer Grafik verschiedene Regionen zuweisen Tools - Maven, Gradle, Ant & mehr 3
R Array Werte einer JComboBox hinterlegen Tools - Maven, Gradle, Ant & mehr 2
T Mit Applet Bild von einer anderen HP darstellen Tools - Maven, Gradle, Ant & mehr 28
O Result einer Abfrage im Applet darstellen Tools - Maven, Gradle, Ant & mehr 11
Paule Aufruf einer neuen Klasse durch Button-Klick Tools - Maven, Gradle, Ant & mehr 11
F Erstellen einer Policy-Datei Tools - Maven, Gradle, Ant & mehr 8
S Ausgabe einer Methode schreibt in HTML Datei Tools - Maven, Gradle, Ant & mehr 8
K Applet mit einer Sinuskurven berechnung Tools - Maven, Gradle, Ant & mehr 2
G öffnen einer neuen seite mit word text Tools - Maven, Gradle, Ant & mehr 3
C Applet Access Denied bei Function-Aufruf Tools - Maven, Gradle, Ant & mehr 11
H Applet Access Denied - Beim zugriff auf eine .txt Datei Tools - Maven, Gradle, Ant & mehr 8
F [JWS] Access Denied trotz Zertifikat? Tools - Maven, Gradle, Ant & mehr 4
O Applets und Access Tools - Maven, Gradle, Ant & mehr 2
S Access denied bei Applets. (mal anders?) Tools - Maven, Gradle, Ant & mehr 4
S Access Denied beim Bild laden Tools - Maven, Gradle, Ant & mehr 7
R access denied beim Java Applet Tools - Maven, Gradle, Ant & mehr 5
A access denied beim anzeigen von Bildern Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben