Korzystając z pakietów w Javie kompilując to wszystko ręcznie przy użyciu jedynie wiersza poleceń, na pewno niejeden z Was zastanawiał się czemu znowu coś nie działa. Dzisiaj nikogo nie będzie dziwić korzystanie z dowolnego IDE, aczkolwiek warto chociaż parę razy w życiu skompilować swój kod manualnie od początku do końca, aby się dowiedzieć jak to działa w rzeczywistości. Pakiety w języku Java mocno komplikują proces ręcznej kompilacji i tym się teraz zajmiemy w ramach odejścia od tematu kolekcji.
Tweet |
PAKIETY W JĘZYKU JAVA PODNOSZĄ TRUDNOŚĆ RĘCZNEJ KOMPILACJI
Przeczytajcie najpierw ten artykuł jeśli w ogóle nie wiecie po co stosuje się pakiety. Tym razem zapodam jedną jedyną klasę, która przyda się do eksperymentu. Jednak zapomnijcie o jakimkolwiek IDE na czas tego artykułu. Zróbcie sobie nowy katalog, a w nim utwórzcie "ciąg" podfolderów, które MUSZĄ odpowiadać ciągowi podanemu po słowie kluczowym "package". Czyli w folderze głównym tworzycie folder o nazwie "X", a w nim tworzycie kolejny folder "Y" (możecie po nim dać jeszcze więcej). Właśnie tam zapiszcie plik z rozszerzeniem ".java" wklejając poniższą zawartość:
package [X].[Y];
public class Main
{
public static void main(String[] args)
{
System.out.println("Program działa!");
}
}
Pakiety w języku Java są niczym innym jak ciągiem podfolderów, które przypominają strukturę drzewa. Po każdej kropce "schodzi się" poziom niżej, pisząc kolokwialnie, i w ten sposób można dostać się w każde miejsce zaczynając od "korzenia" jakim jest nasz folder główny. Po zapisaniu pliku z rozszerzeniem ".java", otwórzcie sobie wiersz poleceń (najlepiej z uprawnieniami administratora) i przy pomocy polecenia "cd", przejdźcie bezpośrednio do katalogu posiadającego folder o nazwie "X". Wpisując poniższe polecenie:
javac [X]/[Y]/[nazwa pliku źródłowego].java
kompilator Javy przejdzie wówczas po wszystkich katalogach jeden po drugim i skompiluje program o ile ciąg po słowie "package" zgadza się ze wszystkimi podfolderami. Pakiety w języku Java są wyjątkowo czułe na literówki więc w przypadku wystąpienia błędu, upewnijcie się, że wpisaliście wszystkie nazwy perfekcyjnie. Znaki diakrytyczne też najlepiej obejść szerokim łukiem. Jeśli poprzednie polecenie niczego nie wypisuje, to znak, że kompilacja się udała. W celu uruchomienia skompilowanego programu, zostajemy w tym samym folderze i wpisujemy to:
java pl.jasonxiii.example.Main
Zwróćcie uwagę, że teraz są kropki zamiast slash'y, tak jak się wpisało w kodzie po słowie kluczowym "package". Też wyjątkowo łatwo się pomylić więc pozostaje Wam tylko "wejście w krew". Jeśli kompilacja, to znaki ukośników. Jeśli uruchamianie, to kropki. Przyjrzyjcie się poniższemu obrazkowi i zobaczcie jakie są różnice.
![]() |
Pakiety tworzą "drzewiastą" strukturę katalogów, która umożliwia segregację plików źródłowych i klasowych.
Artykuł wyjątkowo "cieniutki", gdyż stanowi on wstęp do kolejnego artykułu w którym będziemy wtłaczać program do archiwum JAR przy pomocy tzw. "manifestu". Oto dalsza część.