Hallöchen...
ich habe da mal eine Frage. In einem Verzeichnis (z. B. C:\workspace\applikation) befindet sich meine Anwendung. Diese soll über die Console jedoch auch von anderswo aufrufbar sein (z. B. C:\). Wenn ich jetzt aus C:\ die Anwendung starten will, kann ich das ja offenbar nicht so machen:
sondern ich müsste den Classpath setzen, also:
Ist das Setzen der -cp Option die einzige Möglichkeit? Oder geht es vll. noch irgendwie anders? Problem ist einmal, dass der User das aus einem bestimmten working directory ausführen will, auf das sich dann die JFileChooser-Dialoge beziehen sollen, bzw. dieses als Start-Location annehmen sollen (bekomm ich ja mit System.getProperty("user.dir") hin. Weiteres Problem ist, dass der User halt ein Dummy ist, der gerade mal die Sachen mit Verzeichnissen und relativen bzw. absoluten Pfaden so halbwegs gecheckt hat. Dem jetzt noch die Sache mit dem -cp näher zu bringen, scheint mir persönlich schwieriger als das biblische Kamel durchs Nadelöhr zu bugsieren.
Soviel zum 1. Problem. Nun zum 2. Problem:
Ich hab innerhalb des Verzeichnisses workspace\applikation ein weiteres Verzeichnis res, in dem GIF-Files gespeichert sind, die für Actions (in der Toolbar und im Menü) verwendet werden sollen. Wenn ich die Anwendung mit java -cp workspace\applikation Mainklasse starte, dann findet der die Bilder nicht und die Buttons der Toolbar sind lediglich so kleine quadratische ohne Inhalt. Wie könnte ich das jetzt regeln?
Die entsprechenden Actions werden bei mir ganz simpel erzeugt. Sie leiten von AbstractAction ab und im Konstruktor der Action gibts dann gleich den Aufruf
Offenbar bezieht sich hier der Pfad zum Bild, der dem ImageIcon übergeben wird, auf das aktuelle working directory (das ja eben nicht das Verzeichnis ist, in dem sich die Anwendung befindet).
Ideen? Immer her damit :wink:
Lg
sayang
ich habe da mal eine Frage. In einem Verzeichnis (z. B. C:\workspace\applikation) befindet sich meine Anwendung. Diese soll über die Console jedoch auch von anderswo aufrufbar sein (z. B. C:\). Wenn ich jetzt aus C:\ die Anwendung starten will, kann ich das ja offenbar nicht so machen:
Code:
C:\> java workspace\applikation\Mainklasse
sondern ich müsste den Classpath setzen, also:
Code:
C:\> java -cp workspace\applikation Mainklasse
Ist das Setzen der -cp Option die einzige Möglichkeit? Oder geht es vll. noch irgendwie anders? Problem ist einmal, dass der User das aus einem bestimmten working directory ausführen will, auf das sich dann die JFileChooser-Dialoge beziehen sollen, bzw. dieses als Start-Location annehmen sollen (bekomm ich ja mit System.getProperty("user.dir") hin. Weiteres Problem ist, dass der User halt ein Dummy ist, der gerade mal die Sachen mit Verzeichnissen und relativen bzw. absoluten Pfaden so halbwegs gecheckt hat. Dem jetzt noch die Sache mit dem -cp näher zu bringen, scheint mir persönlich schwieriger als das biblische Kamel durchs Nadelöhr zu bugsieren.
Soviel zum 1. Problem. Nun zum 2. Problem:
Ich hab innerhalb des Verzeichnisses workspace\applikation ein weiteres Verzeichnis res, in dem GIF-Files gespeichert sind, die für Actions (in der Toolbar und im Menü) verwendet werden sollen. Wenn ich die Anwendung mit java -cp workspace\applikation Mainklasse starte, dann findet der die Bilder nicht und die Buttons der Toolbar sind lediglich so kleine quadratische ohne Inhalt. Wie könnte ich das jetzt regeln?
Die entsprechenden Actions werden bei mir ganz simpel erzeugt. Sie leiten von AbstractAction ab und im Konstruktor der Action gibts dann gleich den Aufruf
Code:
super("Close window", new ImageIcon("res/close.gif"));
Offenbar bezieht sich hier der Pfad zum Bild, der dem ImageIcon übergeben wird, auf das aktuelle working directory (das ja eben nicht das Verzeichnis ist, in dem sich die Anwendung befindet).
Ideen? Immer her damit :wink:
Lg
sayang