Podjęłbym sugestię Jon i użyłem Ant, ponieważ jest to dość skomplikowane zadanie.
Jeśli jednak chcesz uzyskać wszystko w jednym wierszu terminalu, w systemie Linux możesz użyć polecenia find. Ale nie polecam tego w ogóle, ponieważ nie ma gwarancji, że, powiedzmy, Foo.java zostanie skompilowana po Bar.java, nawet jeśli Foo
używa Bar
. Przykładem może być:
find . -type f -name "*.java" -exec javac {} \;
przypadku wszystkich klas jeszcze nie zostały skompilowane, jeśli istnieje jeden główny uprząż lub klasy sterownika (w zasadzie jeden zawierający głównego metody), kompilacja, że główną klasą indywidualnie powinien kompilują większość projektu, nawet jeśli znajdują się w różnych folderach, ponieważ Javac będzie starał się jak najlepiej wykorzystać swoje możliwości rozwiązywania problemów z zależnościami.
Z ciekawości, z jakiego systemu operacyjnego korzystasz - Windows, Linux, Mac itd.? To może pomóc w udzieleniu odpowiedzi na pytanie: –
Używam linuxa. – euphoria83
Nie skompilowałem java z linii poleceń za kilka lat, ale myślę, że jeśli po prostu przekażesz plik zawierający main() do javaca, wyszuka on wszystkie pozostałe pliki, które musi skompilować, ponieważ wszystkie twoje zależności mogą zostać odkryte, zaczynając od pliku zawierającego main(). – Endophage