Hallo zusammen,
ich habe gerade ein kleines Problem bei meinem Programm mit meinen resourcen im Jar-Archiv.
über die gewohnte Methode mit dem Classloader habe ich die resource in einem Ordner im Klassenpfad liegend eingebunden. Und doch sucht er nach der Erstellung der Jardatei in einem externen Verzeichnis. Das Programm läuft in eclipse wunderbar, doch nach dem Exportieren sucht er vergeblich nach den Files.
Nun frage ich mich gerade, ob die Files überhaupt im Klassenpad des Jararchives abgespeichert werden?
Habe ich die Dateien ins falsche Verzeichnis gespeichert oder was ist fehlerhaft? Habe neben dem Code noch meine Verzeichnisstruktur angehängt.
ich habe gerade ein kleines Problem bei meinem Programm mit meinen resourcen im Jar-Archiv.
über die gewohnte Methode mit dem Classloader habe ich die resource in einem Ordner im Klassenpfad liegend eingebunden. Und doch sucht er nach der Erstellung der Jardatei in einem externen Verzeichnis. Das Programm läuft in eclipse wunderbar, doch nach dem Exportieren sucht er vergeblich nach den Files.
Nun frage ich mich gerade, ob die Files überhaupt im Klassenpad des Jararchives abgespeichert werden?
Habe ich die Dateien ins falsche Verzeichnis gespeichert oder was ist fehlerhaft? Habe neben dem Code noch meine Verzeichnisstruktur angehängt.
Java:
private void showInfo() {
JPanel jpAbout = new JPanel();
jpAbout.setLayout(new BorderLayout());
JEditorPane editorPaneAbout = new JEditorPane();
editorPaneAbout.setContentType("text/html");
String path = "resource/About.html";
File dir = new File(getClass().getClassLoader().getResource(path).getFile().toString()
.replace("%20", " "));
try {
URL urlAbout =dir.toURI().toURL();
System.out.println(urlAbout);
editorPaneAbout.setPage(urlAbout);
} catch (MalformedURLException e) {
logger.error(getClass() + " Methode Drucken", e);
e.printStackTrace();
} catch (IOException e) {
logger.error(getClass() + " Methode Drucken", e);
e.printStackTrace();
}
jpAbout.add(BorderLayout.CENTER, editorPaneAbout);
JInternalFrame jifAbout = new JInternalFrame("Info", false, true);
jifAbout.setBounds(170, 140, 300, 220);
jifAbout.setVisible(true);
Container contentPaneAbout = jifAbout.getContentPane();
contentPaneAbout.add(jpAbout);
jlp.add(jifAbout, JLayeredPane.POPUP_LAYER);
}