2008-12-17 11 views
31

Podczas programowania (i do debugowania) bardzo przydatne jest uruchomienie metody klasy publicznej "publicznej klasy statycznej void (String [] argv) bezpośrednio z poziomu Eclipse (przy użyciu polecenia Uruchom jako menu kontekstowe).Wywoływanie głównej metody języka Java z parametrami z Eclipse

Czy istnieje podobny szybki sposób określenia parametrów wiersza polecenia dla uruchomienia? Co mam teraz zrobić, to przejść do "Run Dialog", kliknąć różne ustawienia na karcie, gdzie mogę określić VM i argumenty programowe i wprowadzić je tam. Zbyt wiele kroków, a także nie chcę mieszać bardziej stałych ustawień konfiguracyjnych środowiska wykonawczego z jednorazowymi parametrami wywołania. Zamiast tego chciałbym sprawdzić gdzieś pole (lub mieć oddzielny punkt menu "Uruchom jako aplikację Java z wierszem poleceń"), a następnie za każdym razem wyświetlaj monit o wiersz poleceń (z ładną historią).

+1

Jak mówi Uri, nie sądzę, że jest to możliwe, ale byłoby naprawdę fajnie. Naprawdę nie podoba mi się wypełnianie okna dialogowego uruchamiania. –

Odpowiedz

49

Ta odpowiedź jest oparta na Eclipse 3.4, ale powinna działać w starszych wersjach Eclipse.

Wybierając opcję Uruchom jako ..., przejdź do konfiguracji uruchamiania.

Na karcie Argumenty konfiguracji uruchamiania Java skonfiguruj zmienną $ {string_prompt}, aby pojawiła się (możesz kliknąć zmienne, aby ją uzyskać, lub skopiuj ją, aby ustawić ją bezpośrednio).

Za każdym razem, gdy używasz tej konfiguracji uruchamiania (nadaj jej nazwę, aby była dostępna później), zostaniesz poproszony o podanie argumentów linii poleceń.

2

AFAIK W tym celu nie ma wbudowanego mechanizmu Eclipse.

Najbliższym, które można uzyskać, jest utworzenie opakowania, które monituje o te wartości i wywołuje główną (ustaloną). Otrzymasz historię wykonania, o ile nie usuniesz zakończonych procesów. Dwie odmiany tego są albo do używania JUNit, albo do użycia wtrysku lub parametru tak, aby twoje opakowanie zawsze łączyło się z właściwą klasą dla jej głównej.

1

Nie jestem pewien, jakie są twoje zastosowania, ale uważam za wygodne, że zwykle używam nie więcej niż kilku parametrów wiersza poleceń, więc każdy z tych scenariuszy otrzymuje jedną konfigurację uruchamiania, a ja wybieram jedną z nich Historia Run.

Proponowana funkcja wydaje się nieco przesadzona, IMO.

14

Uri jest źle, istnieje sposób na dodanie parametrów do głównej metody w Eclipse bezpośrednio, jednak parametry nie będą zbyt elastyczne (niektóre parametry dynamiczne są dozwolone). Oto, co musisz zrobić:

  1. Przeprowadź swoją klasę raz tak, jak jest.
  2. idź do Run -> Run configurations...
  3. Z listy po lewej, wybierz klasę z listy pod Java Application lub wpisując jej nazwę na polu filtra.
  4. Wybierz zakładkę Argumenty i wpisz argumenty do pola Program arguments. Na wypadek, gdyby nie było to jasne, są rozdzielone spacjami, więc "a b c" (bez cudzysłowów) oznaczałoby, że przekazujesz argumenty a, b i c do twojego programu.
  5. Uruchom swoją klasę znowu podobnie jak w kroku 1.

Mam jednak zalecamy użycie klasy JUnit/wrapper jak Uri mówiłem ponieważ w ten sposób można uzyskać o wiele lepszą kontrolę nad rzeczywistych parametrów niż robiąc to .

+0

Sądzę, że Thilo/Uri mówią o prostym sposobie, aby to zrobić bez włączania zagłębiania się w okno dialogowe Uruchamianie - jak stwierdza jego pytanie. –

+0

Musiałem zacytować argument nazwy pliku, ponieważ zawierał spacje. Dzięki – danny117

0

Inny pomysł:

Umieść wszystkie parametry w pliku właściwości (jeden parametr = jedna właściwość w tym pliku), a następnie na głównej metodzie załadować ten plik (używając Properties.load(*fileInputStream*)). Więc jeśli chcesz zmodyfikować jeden argument, wystarczy edytować plik args.properties, a następnie uruchomić aplikację bez dalszych kroków ...

Oczywiście jest to tylko do celów programistycznych, ale może bądź naprawdę pomocny, jeśli musisz często zmieniać argumenty ...

Powiązane problemy