.jar erstellen

pla

Grünschnabel
Halli Hallo,

ich habe ein kleines Problem und dachte wende mich an euch.

Ich möchte eine xxx.jar erstellen. Die auch einige .html Dateien beinhaltet. über meine .jar starte ich dann einen Webserver der auf einem bestimmten Port läuft, leider kann ich bei meiner einfach über Fat Jar erstellte .jar nicht auf die index.html zugreifen da sie nicht gefunden wird.
Ich bekomme das soweit hin, wenn ich die html Seiten nicht gepackt neben die .jar-datei lege. Muss ich auf die Classpath achten o.ä.?
Ich verweise auf meine daten über ./src/html , diese werden nur im gepackten zustand nicht gefunden. Über eclipse läuft das ganze wunderbar, sowie auch als jar wenn ich die html dateien nicht packe sondern alles in einen ordner mit den restlichen Klassen als jar datei.

Ich bedanke mich für jegliche Art von hilfen:)


mfg

pla
 
Moin,

wie greifst Du denn auf die gepackten HTML-Dateien zu?
In einem Jar müsste das Ganze genauso erfolgen wie mit dem Laden eines Bildes, also mit getResource().
Lädst Du Deine Dateien auch so?

Gruß,
Xan
 
Hallo,

ja ich greife per ClassLoader darauf zu. Habe schon einiges versucht aber leider vergebens.

Code:
try {
        ClassLoader cl = this.getClass().getClassLoader();
	URI uri = new URI ( cl.getResource("/" + dateiWahl).toString() );
	String zw= URLDecoder.decode(uri.toString());
	System.out.println("URI: " + zw);
			
	File datei = new File( zw);
			
	reader = new FileInputStream(datei);
	int groesse = reader.available();

	for (int i = 0; i < header.size(); i++) {
		if (header.get(i).contains("Cookie")) {
			splitter = header.get(i).split(": ");
			setCookie(splitter[1]);
			break;
		}
	}

	String site = "";
	while ((zeichen = reader.read()) != -1) {
		if (dateiWahl.contains(".html"))
			site += (char) zeichen;
		else
			out.write(zeichen);
	}

	if (dateiWahl.contains(".html")) {
		site = fillSite(site);
		out.write(site.getBytes());
	}

} catch (FileNotFoundException e) {
	outWriter.println("<body>\n<b>Datei " + this.dateiWahl
					+ " nicht gefunden.\n</body></html>");
	System.out.println("File Not Found.");
	return;
 }


da ich ja mehrere Packages habe in der jar habe ich mal versucht in dem ich meinen html Ordner auch als src gekennzeichnet habe. bei getResource habe ich eigentlich schon alles versucht würde ich sagen..

./src/html/
/src/html/
./html/
/html/
html/
/

usw...

auch wenn ich den richtigen Pfad bekomme, kriege ich die Meldung, dass das File nicht gefunden wurde. Denke ich übersehe irgendwas, aber was genau fällt mir nicht auf. Schonmal danke für die Antwort.


gruß

pla
 
Zuletzt bearbeitet:
Zurück