Ich verwende eine Java-Anwendung über die Befehlszeile. Kann ich ein Befehlszeilenargument angeben, um das aktuelle laufende Verzeichnis auf etwas anderes als das zu beschränken, wo die Anwendung tatsächlich ausgeführt wird?Können Sie das aktuelle laufende Verzeichnis über die Java-Befehlszeile festlegen?
Antwort
Ich sehe keine solche Option in der Java command-line documentation.
Siehe Datta Antwort unten. – user0000001
Wenn Sie das aktuelle Verzeichnis ändern möchten, müssen Sie JNI verwenden und eine native API aus Ihrem Java-Code aufrufen. Zum Beispiel für Windows würden Sie SetCurrentDirectory
Ich benutze JNI, also könnte dies eine mögliche Lösung sein. – user538442
Das würde Ihren Code natürlich komplett nicht portabel machen. –
verwenden Wenn es möglich, dass ich eher einen Skript verwenden, würde die Java-Anwendung auszuführen und das Verzeichnis, in dem Skript festgelegt:
#!/bin/sh
cd <your dir>
java <some arguments>
Die JNI-Lösung kann alle betreffen Arten von relativen Pfaden in Ihrer Anwendung; B. den Klassenpfad, den Sie eingeben.
Es gibt ein JVM-Argument -Duser.dir
, mit dem das Arbeitsverzeichnis für JVM festgelegt werden kann.
Ich fand diese SO-Post und es half mir, mein Problem zu lösen. Obwohl ich etwas Spezifisches über IntelliJ teilen wollte, das vielleicht jemand anderen auf die Palme bringen könnte.
ich ein Bild unten geschrieben habe, in dem der -Duser.dir Flag verwendet wird und auch das Arbeitsverzeichnis Textfeld.
In dieser Situation gefüllt ist, wird das Arbeitsverzeichnis eingestellt wird "JarLearning" statt "2ndTry".
- 1. Ändern Sie das aktuelle Verzeichnis mit Knoten
- 2. Holen Sie sich das aktuelle Batchfile-Verzeichnis
- 3. Können Sie die Werte für die Tabellenansichtsdatenquelle in "connectionDidFinishLoading" festlegen?
- 4. Ändern Sie das aktuelle Verzeichnis in Linux C++
- 5. Wie legen Sie das aktuelle Verzeichnis eines debuggten Prozesses fest?
- 6. Wie bekomme ich das aktuelle Verzeichnis?
- 7. Das aktuelle Verzeichnis der Verzeichnisse suchen
- 8. So entfernen Sie das aktuelle Verzeichnis aus dem Python-Importpfad
- 9. Verwenden Sie das aktuelle Verzeichnis in Vim-Befehle
- 10. Einfacher Dateiserver für das aktuelle Verzeichnis
- 11. Aktuelle Proxy-Einstellungen festlegen
- 12. Wie erhalten Sie das aktuelle Verzeichnis in einem kompakten Framework?
- 13. Können Sie festlegen, wo das lokale Stammverzeichnis ist?
- 14. Wie erhalte ich das aktuelle Verzeichnis in einer Klassenbibliothek?
- 15. Wenn Sie die Checked-Eigenschaft in einer RadioBox festlegen, können Sie das CheckChanged-Ereignis unterdrücken?
- 16. Können Sie die Bildlaufeinstellungen für Container-Controller festlegen?
- 17. Können Sie in Photoshop gerundete Pixelecken festlegen?
- 18. Können Sie die Same-Origin-Richtlinie strenger festlegen?
- 19. C# Informationen über das aktuelle aktive Fenster
- 20. Warum die Pipe das aktuelle Arbeitsverzeichnis zurücksetzt?
- 21. Festlegen des Standarddatums der WPF-Datumsauswahl auf das aktuelle Datum
- 22. Verwenden Sie können verschlüsseln ohne Kontrolle über das Stammverzeichnis
- 23. ändern Sie das aktuelle Arbeitsverzeichnis
- 24. Können Sie EncryptionLevel programmgesteuert für die Mergereplikation festlegen
- 25. Können Sie die aktuelle Iteration einer Python-Schleife "neu starten"?
- 26. Können Sie HttpContext.Current.UserIdentity.Name mit Reflektion festlegen?
- 27. Wie verhindert man, dass PM2 das aktuelle Verzeichnis ändert?
- 28. Lesen von Dateien aus einem Verzeichnis für das aktuelle Datum
- 29. Kann nicht aktuelle Verzeichnis bestimmen
- 30. Wie bekomme ich das aktuelle Verzeichnis einer Konsole kpart
Nicht sicher, dass dies ein Duplikat ist, aber hilfreich sein kann http://stackoverflow.com/questions/840190/changing-the-current-working-directory-in-java – khachik
Ja, das kann hilfreich sein. Neue Datei (übergeordnet, Pfad) funktioniert möglicherweise. Ich werde es versuchen müssen. Warum ich diese Frage gepostet habe, versuche ich, einen Profiler auf einer DLL zu verwenden, die meine Anwendung lädt. Da ich java.exe im Wesentlichen profilieren muss, wird das aktuelle Arbeitsverzeichnis auf meinen jdk-Ordner gesetzt und wirft meine relativen Pfade in meiner Anwendung aus. – user538442
Ihr Profiler sollte eine Option haben, um das Startverzeichnis festzulegen. Oder ist es vielleicht möglich, eine BAT-Datei zu schreiben und Profiler zu sagen, es auszuführen? –