Hallo,
also, nachdem ich hier gerade ein bisschen rumgesucht hab, ist mir noch nichts wirklich brauchbares fuer dieses Problem hier auf den Bildschirm gekommen.
Im Prinzip hab ich schon dutzende jars erstellt, aber diesmal will er nicht, hab wohl einen dummen Fehler gemacht, komme aber gerade nicht drauf, waere also dankbar fuer einen kleinen Tipp;-).
Es geht also darum eine Datei(hier eine Textdatei, aber das ist ja egal) aus dem Hauptprojektordner zu laden. Die Klasse, die diese Datei laedt, liegt aber in packages. Wenn ich aus Eclipse starte findet er die Datei, nicht aber wenn ich eine jar mache, und ja die Datei ist in dem jar;-)
Fakten:
- Die Datei wird mit follgendem Code geladen:
- Die Klasse, in der dieser Code liegt, steckt im package:
- Die Datei selber liegt im Projektordner von Eclipse
- aus Eclipse heraus geht es einwandfrei
- Wenn ich das ganze aus einer jar machen will, fliegt follgende Exception:
Waere dankbar fuer Tipps, ich krieg's einfach nicht hin...
MfG
MPW
also, nachdem ich hier gerade ein bisschen rumgesucht hab, ist mir noch nichts wirklich brauchbares fuer dieses Problem hier auf den Bildschirm gekommen.
Im Prinzip hab ich schon dutzende jars erstellt, aber diesmal will er nicht, hab wohl einen dummen Fehler gemacht, komme aber gerade nicht drauf, waere also dankbar fuer einen kleinen Tipp;-).
Es geht also darum eine Datei(hier eine Textdatei, aber das ist ja egal) aus dem Hauptprojektordner zu laden. Die Klasse, die diese Datei laedt, liegt aber in packages. Wenn ich aus Eclipse starte findet er die Datei, nicht aber wenn ich eine jar mache, und ja die Datei ist in dem jar;-)
Fakten:
- Die Datei wird mit follgendem Code geladen:
Code:
BufferedReader in;
String text = "";
String line;
try {
System.out.println(Info.class.getClassLoader().getResource("HistoryOfChanges.txt"));//ergibt null bei jar-version
in = new BufferedReader(new InputStreamReader(Info.class.getClassLoader().getResourceAsStream("HistoryOfChanges.txt")));
while ((line = in.readLine()) != null) {
text+= line + "\n";
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
text += "Datei nicht gefunden!";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
text += "Fehler beim Lesen der Datei!";
} catch (NullPointerException e) {
e.printStackTrace();
text += "Ressource nicht gefunden!";
}
- Die Klasse, in der dieser Code liegt, steckt im package:
Code:
package schlange.tools;
- Die Datei selber liegt im Projektordner von Eclipse
- aus Eclipse heraus geht es einwandfrei
- Wenn ich das ganze aus einer jar machen will, fliegt follgende Exception:
Code:
java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at schlange.tools.Info.<init>(Info.java:83)
at schlange.SchlangeBox.actionPerformed(SchlangeBox.java:87)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Waere dankbar fuer Tipps, ich krieg's einfach nicht hin...
MfG
MPW