2013-03-08 12 views
9

Czy istnieje sposób, aby Eclipse rozwijał symbole wieloznaczne w argumentach konfiguracji uruchamiania? Moja klasa może obsługiwać argumenty wiersza poleceń przekazane do main(String[] args). Od normalnego shell (bash na moim systemie), to jest proste:Rozszerzenie dzikiej karty w konfiguracji środowiska Eclipse

$java MyClass file*.txt 

To prowadzi moją klasę z wszystkich plików w katalogu roboczym, które zaczynają się file i kończyć w .txt dostarczanych jako argumentami wiersza poleceń.

Chciałbym zachować to samo zachowanie w czasie zaćmienia, ale kiedy wprowadzę file*.txt do edytora konfiguracji uruchamiania i uruchomię program, wieloznacznik nie zostanie rozwinięty. Zamiast listy plików jedynym rozpoznanym argumentem jest łańcuch literowy file*.txt.

This thread prowadzi mnie do przekonania, że ​​jest to możliwe lub było kiedyś możliwe (przynajmniej w systemie Windows - używam systemu Mac OS X 10.6.8), ale ci ludzie mieli przeciwny problem z rozwijaniem symboli wieloznacznych, nawet gdy zachowanie nie było pożądane.

Próbując rozwiązać ten problem, próbowałem używać różnych zmiennych środowiskowych (np. $ {String_prompt}, zmieniłem katalog roboczy, przejrzałem preferencje Eclipse i dokumentację oraz wyszukiwałem odpowiednie wyrażenia, ale nic nie zadziałało. lub linki do odpowiednich informacji byłoby bardzo mile widziane.

+0

Tak jak mówisz, chcę wiedzieć, gdzie i kto się rozwija, i chcę to kontrolować. –

Odpowiedz

4

wydaje się być pożądane zachowanie w Eclipse. Rzeczywiście, wieloznaczny ekspansji w systemie Windows jest uważany za a bug.

Natomiast pożądane zachowanie bash jest to, czego oczekiwać, ale Java (a więc i twój program) nie ma wiedzy na ten temat.

Jeśli chcesz, aby Twój program był smart i rozszerzać symbole wieloznaczne, możesz użyć biblioteki WildcardFileFilter, która jest częścią biblioteki Apache Commons IO.

Jeszcze lepiej: można napisać wtyczkę Eclipse obsługującą rozszerzenie wiersza poleceń. Jeśli to zrobisz, udostępnij je! ;)

+0

Dzięki za informację Eric. Na pewno zajrzę do 'WildcardFileFilter'. Nie mam zbyt wiele (przeczytaj _any_) doświadczenia w pisaniu wtyczek Eclipse, ale zrobię kilka badań, żeby sprawdzić, czy jest to coś, co myślę, że poradzę sobie. Dzięki jeszcze raz. – crlane

Powiązane problemy