Hallo,
ich habe eine Frage an euch
ich habe jetzt schon ettliche Möglichkeiten getestet aber keine hat funktioniert.
Und zwar habe ich die String Variable "action" die war bisher immer statisch, ganz unten definiert mit einem festen Pfad.
Da sich der Pfad aber ab und an ändern kann, sollte ich nun eine configdatei erstellen (die heißt in diesem fall "userauth.config") die sich im .jar in den Ressourcen befindet ("UserMgr.jar\resources\userauth.config") in dieser steht in der ersten Zeile der Pfad zu einem ganz anderen Ort, wohin dürfte hierfür belanglos sein.
Jedenfalls will ich diesen Pfad auslesen und auf "action" speichern, damit ich ihn im weiteren Programmverlauf benutzen kann.
So ich habe jetzt unten im Program rausgenommen das statisch ein String zugewiesen wird und dafür oben im Konstruktor folgendes eingefügt:
dann kommt das:
bzw hiermit hab ichs auch versucht:
und dann das hier:
Im Debugger funktioniert alles einwandfrei nur wenn ich das dann auf dem PC ausführe auf dem es laufen soll kommt folgendes:
Zum System, ich benutze Netbeans und wie gesagt, da funktioniert es 1A, auch wenn ichs im Debuggmodus Schritt für Schritt durchgehe, aber auf dem PC auf dem es letztendlich laufen soll (Solaris PC) kommt eben das.
Ich hoffe ihr könnt mir helfen, wenn ihr noch Details braucht, nur raus damit!
ich habe eine Frage an euch
ich habe jetzt schon ettliche Möglichkeiten getestet aber keine hat funktioniert.
Und zwar habe ich die String Variable "action" die war bisher immer statisch, ganz unten definiert mit einem festen Pfad.
Da sich der Pfad aber ab und an ändern kann, sollte ich nun eine configdatei erstellen (die heißt in diesem fall "userauth.config") die sich im .jar in den Ressourcen befindet ("UserMgr.jar\resources\userauth.config") in dieser steht in der ersten Zeile der Pfad zu einem ganz anderen Ort, wohin dürfte hierfür belanglos sein.
Jedenfalls will ich diesen Pfad auslesen und auf "action" speichern, damit ich ihn im weiteren Programmverlauf benutzen kann.
So ich habe jetzt unten im Program rausgenommen das statisch ein String zugewiesen wird und dafür oben im Konstruktor folgendes eingefügt:
Code:
try{
dann kommt das:
Code:
URL userauthpathrurl = ClassLoader.getSystemResource("./resources/userauth.config");
BufferedReader pathreader = new BufferedReader(new InputStreamReader(userauthpathrurl.openStream()));
bzw hiermit hab ichs auch versucht:
Code:
BufferedReader pathreader = new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream("./resources/userauth.config")));
und dann das hier:
Code:
String userauthpath = pathreader.readLine();
if (userauthpath != null){
jLabelUserLoggedon.setText(userauthpath);
action = userauthpath;}
else{
jLabelUserLoggedon.setText("CGI not found!");
}
pathreader.close();
}
catch(IOException ioe)
{ioe.printStackTrace();}
Im Debugger funktioniert alles einwandfrei nur wenn ich das dann auf dem PC ausführe auf dem es laufen soll kommt folgendes:
java -jar UserMgr.jar
Java Accessibility Bridge for GNOME loaded.
Mar 15, 2010 5:50:39 PM org.jdesktop.application.Application$1 run
SEVERE: Application class usermgr.UserMgrApp failed to launch
java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
at usermgr.UserMgrView.<init>(UserMgrView.java:89)
at usermgr.UserMgrApp.startup(UserMgrApp.java:20)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class usermgr.UserMgrApp failed to launch
at org.jdesktop.application.Application$1.run(Application.java:177)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
at usermgr.UserMgrView.<init>(UserMgrView.java:89)
at usermgr.UserMgrApp.startup(UserMgrApp.java:20)
at org.jdesktop.application.Application$1.run(Application.java:171)
... 7 more
Zum System, ich benutze Netbeans und wie gesagt, da funktioniert es 1A, auch wenn ichs im Debuggmodus Schritt für Schritt durchgehe, aber auf dem PC auf dem es letztendlich laufen soll (Solaris PC) kommt eben das.
Ich hoffe ihr könnt mir helfen, wenn ihr noch Details braucht, nur raus damit!