Wildcard-Erweiterung in Eclipse Run Configuration

9

Gibt es eine Möglichkeit, Eclipse in Laufkonfigurationsargumenten Platzhalter zu erweitern? Meine Klasse kann die Befehlszeilenargumente verarbeiten, die an main(String[] args) übergeben werden. Von einer normalen Shell (Bash auf meinem System) ist es einfach:

%Vor%

Dies führt meine Klasse mit allen Dateien im Arbeitsverzeichnis aus, die mit file beginnen und in .txt als Befehlszeilenargumente enden.

Ich möchte dieses selbe Verhalten innerhalb von Eclipse haben, aber wenn ich file*.txt in den Laufkonfigurationseditor eingebe und das Programm ausführe, wird der Platzhalter nicht erweitert. Anstatt einer Liste von Dateien ist das einzige erkannte Argument die literale Zeichenfolge file*.txt .

Dieser Thread führt ich zu glauben, dass es möglich ist oder war einmal möglich (zumindest unter Windows - ich habe Mac OS X 10.6.8), aber diese Leute hatten das umgekehrte Problem von Wildcards erweitert werden, auch wenn dieses Verhalten nicht gewünscht wurde / p>

Beim Versuch, dieses Problem zu lösen, habe ich versucht, verschiedene Umgebungsvariablen zu verwenden ($ {string_prompt}, das Arbeitsverzeichnis geändert, die Eclipse-Einstellungen und -Dokumentationen durchgesehen und relevante Phrasen gegoogelt, aber nichts hat funktioniert. Irgendwelche Vorschläge oder Links zu relevanten Informationen würden sehr geschätzt werden.

    
crlane 08.03.2013, 16:49
quelle

1 Antwort

4

Es scheint das gewünschte Verhalten in Eclipse zu sein. Tatsächlich wird die Wildcard-Erweiterung in Windows als ein Fehler angesehen.

Im Gegensatz dazu ist das gewünschte Verhalten in bash das, was Sie erwarten, aber Java (und damit Ihr Programm) hat kein Wissen darüber.

Wenn Sie möchten, dass Ihr Programm intelligent ist und Platzhalter erweitert, können Sie WildcardFileFilter welches Teil von Apache Commons IO Bibliothek.

Noch besser: Sie könnten ein Eclipse-Plugin schreiben, das die Erweiterung der Befehlszeile unterstützt. Wenn Sie dies tun, teilen Sie bitte! ;)

    
Eric Citaire 02.06.2013 17:07
quelle