2012-06-29 15 views
5

Chcę przekazać argumenty wiersza poleceń do mojego programu java, który jest wywoływany przez fałszywą mrówkę (mamy własny skrypt mrówki w perlu, który w pewnym momencie wywołuje rzeczywistą mrówkę). Więc to, co chcę zrobić, to wywołać mój program tak:przekazywać argumenty do java poprzez ant

./ant program_name arg1 arg2

Teraz mam ant cel dla mojego programu, ale zamiast przekazywać argumenty z linii poleceń Jestem sprzęt komputerowy kodujący je w pliku kompilacji jak ten:

<arg line="arg1 arg2"/>

jakieś pomysły na godzinę ow czy mogę używać zmiennych w pliku kompilacji i ładować je z argumentów wiersza poleceń, a następnie używać ich w moim programie java?

Odpowiedz

4

Najprostszym rozwiązaniem może być przejście skryptu do właściwości systemu poprzez -D.

Twój plik budujący mrówki może następnie użyć ich do ustawienia właściwości mrówki, które można ustawić w znaczniku <arg> (lub bezpośrednio do niego odsyłanym, chociaż moje preferencje to ustawianie właściwości mrówek, ale może to być bardziej przyzwyczajenie niż dla dowolnego powód techniczny).

+0

Nie wiem zbyt wiele o mrówce. ale skrypt mrówki, który mamy, nazywa prawdziwą mrówkę czymś podobnym do tego: my $ cmdline = "$ ENV {JAVA_HOME}/bin/java -Xmx512m -Djava.ext.dirs = \" $ ENV {EXT_DIRS} \ "- Dant.home = $ ENV {ANT_HOME} org.apache.tools.ant.Main -emacs $ inp "; gdzie $ inp to całe polecenie, które podajemy w linii poleceń. Czy o tym mówisz? – comatose

+0

@comatose Prawdopodobnie. Moje podejście polegało na dzieleniu '$ inp' i przekształcaniu ich w nazwane parametry' -D'. Nie jestem pewien, jak inaczej uzyskać dostęp do parametrów wiersza polecenia w pliku kompilacji, chociaż jeśli spędziłeś trochę czasu z instrukcją Ant, to może być naprawdę łatwe - po prostu nigdy tego nie robiłem. –

Powiązane problemy