Pierwsza aplikacja w Apache Wicket

Tym razem zobaczymy jak szybko przygotować przykładową aplikację w popularnym framework-u Apache Wicket. Na jej bazie aplikcję można łatwo rozwinąć i zmodyfikować do własnych potrzeb.

Aplikacja, którą będziemy tworzyć, jest tzw. aplikacją maven-ową, a więc będziemy potrzebować Maven-a, aby ją skompilować i uruchomić.

Zaczynamy od tego, że wchodzimy na stronę główną Apache Wicket, czyli http://wicket.apache.org

Klikamy znajdujący się na środku przycisk „Get started”, który przeniesie nas do strony http://wicket.apache.org/start/quickstart.html

Tu znajduje się formularz, po wypełnieniu którego otrzymamy instrukcję przygotowującą przykładową aplikację.

Wypełniamy:

  • Group ID – podobnie jak klasa identyfikowana jest również przez nazwę pakietu, w której się znajduje, tak i aplikacja w systemie Maven jets podobnie identyfikowana. W przykładowej aplikacji możemy oczywiście pozostawić sugerowaną wartość czyli com.mycompany
  • Artifact ID – identyfikator aplikacji, czyli w skrócie nazwa naszej aplikacji
  • Wicket Version – wersja biblioteki Wicket, którą chcemy użyć w projekcie. W tym momencie najnowszą stabilną wersją jest wersja 7.7.0
  • Server to deploy on – jak chcemy uruchomić naszą aplikację. Nie zagłębiając się niepotrzebnie w szczegóły techniczne wybierzmy pierwszą opcję Any but Wild Fly

Po wypełnieniu wszystkich powyższych pól w okienku generated command line widoczna będzie komenda, dzięki której utworzona zostanie nasza aplikacja. Komenda ta będzie wyglądać np. tak:

mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=7.7.0 -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=https://repository.apache.org/ -DinteractiveMode=false

Skopiowaną komendę wklejamy w okienku wiersza poleceń i naciskamy Enter.

W tym momencie przygotowywana jest aplikacja przykładowa. Może to potrwać jakiś czas, bo w tym czasie Maven musi ściągnąć z sieci wszystkie wymagane przez projekt biblioteki. Po ukończeniu generowania aplikacji powinniśmy zobaczyć komunikat BUILD SUCCESS:

Wygenerowana aplikacja znajdować się będzie w katalogu o takiej nazwie, jaka była wpisana w polu ArtifactId (w moim przypadku będzie to więc katalog o nazwie myproject). Będąc w okienku wiersza poleceń możemy przejść do utworzonego katalogu komendą:

cd myproject

Po przejściu do katalogu z aplikacją wywołujemy komendę, która spowoduje skompilowanie całego projektu i dociągnie ewentualnie te biblioteki, których nam jeszcze brakuje. Biblioteki te zostaną ściągnięte oczywiście tylko raz, przy następnych kompilacjach nie będzie to już konieczne.

mvn clean install

I jak w przypadku większości komend maven-owych czekamy na komunikat o prawidłowym zakończeniu BUILD SUCCESS.

Swoją drogą warto zapamiętać komendę mvn clean install, bo będzie to chyba najczęściej wykorzystywana przez nas komenda w systemie Maven. Za każdym razem, kiedy po zmianie trzeba będzie projekt skompilować, używać będziemy właśnie tej komendy.

Po poprawnej kompilacji pozostaje już tylko uruchomić serwer, na którym działać będzie nasza aplikacja. Przykładowy projekt ma w sobie skonfigurowany prosty serwer, który nazywa się Jetty. Aby go uruchomić wystarczy skorzystać z poniższej komendy maven-owej.

mvn jetty:run

Uruchamianie serwera może zająć kilkanaście sekund. Kiedy serwer będzie gotowy do pracy, zobaczymy komunikat Started Jetty Server.

Aby zobaczyć naszą aplikację w działaniu wchodzimy w przeglądarce na adres http://localhost:8080

Localhost to po prostu adres naszego własnego komputera, a 8080 to domyślny numer portu, na którym pracuje aplikacja wewnątrz uruchomionego serwera Jetty i który stanowi część adresu aplikacji.

Jeśli wszystko przebiegło poprawnie, powinniśmy w efekcie w przeglądarce zobaczyć aplikację:

Serwer Jetty wyłączamy kombinacją klawiszy CTRL+C.

Na koniec jedna tylko ważna uwaga: serwer na danym porcie może być uruchomiony tylko raz. Jeśli mamy włączony serwer i spróbowalibyśmy go uruchomić po raz drugi (np. w drugim okienku wiersza poleceń), to pojawi się błąd Adres jest już w użyciu.