Home > Polish > Zaczynamy pierwszy projekt w Tapestry 5

Zaczynamy pierwszy projekt w Tapestry 5

Tak jak obiecałem w poprzednim wpisie: czas zacząć pracę. Projekt stworzymy z wykorzystaniem mavena. W Eclipsie z wtyczką m2 New -> Maven -> Maven Project, na ekranie wyboru archetypu wybieramy która wersja nas interesuje. Obecnie wybieramy pomiędzy Tapestry 5.1.0.5 a 5.2.1-snapshot. Pierwszy to stabilna wersja, drugi jest jeszcze rozwijany, ale w wpisach będę się odwoływać do zawartych w 5.2 nowościach. Zmiany nie są poważne, ale podążają przyjętą w Tapestry ścieżką stabilnego rozwoju, co związane jest z burzliwą historią frameworku, ale o tym innym razem.  Jeszcze referencja do tutoriala pokazującego jak rozpocząć projekt korzystając z konsoli Mavena.  W obu przypadkach otrzymujemy projekt podobny z tym przedstawionym na zrzucie ekranowym. Sam obrazek jest odnośnikiem do dokumentacji opisującej strukturę projektów.tapestry-project-layout

O ile w wielu szkieletach aplikacyjnych układ pakietów nie ma najmniejszego znaczenia, o tyle w Tapestry jest to podstawa konfiguracji. Już wyjaśniam, T5 kieruje się zasadą convention over configuration, której jednym z przejawów jest układ katalogów.  Podobne podejście znać mogą użytkownicy np grailsów. Pomijając strukturę mavenową, istotne jest umiejscowienie kilku pakietów. Tapestry skanuje nasz projekt od głównego korzenia  (package root – w tym przypadku com.example.myapp) w poszukiwaniu pakietów o nazwach:

  • services
  • pages
  • components
  • mixins

Dodatkowe moduły (np integracja z hibernatem) mogą dodać kolejne domyślne lokalizacje, ale tylko wymienione trzeba znać, a spokojnie można pominąć nawet mixins.

Mając już strukturę podobną do tej widocznej obok, możemy uruchomić to co powstało poprzez wtyczkę run-jetty-run / wtyczkę/konsolę mavena / spakowanie całości do pliku war i uruchomienie w kontenerze aplikacyjnym (jetty czy tomcat wystarczy).

W przypadku run-jetty-run niezbędne jest podanie dodatkowo jako vm argumentu  -Dorg.mortbay.jetty.webapp.parentLoaderPriority=true Znalazłem dziś działającego następce run-jetty-run. Można go znaleźć na google code Działa tak samo, ale pozwala nam korzystać z nowszej wersji Jetty i własnej konfiguracji serwera.

Uruchamiając mavenem jako goal podajemy jetty:run

Informacje jak skonfigurować inne IDE możemy znaleźć na Tapestry Wiki w sekcji Preparing your development environment

A następnym razem zaczniemy kodować i pozmieniamy trochę strony.

 

BTW mam skłonności do offtopicowania, upominajcie mnie proszę jak zacznę za bardzo od tematu odbiegać :)


Advertisements
Categories: Polish Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: