You are on page 1of 27

Programowanie w Sieci

Internet
dr Piotr Kalita
kalita@ii.uj.edu.pl
semestr zimowy 2012/1
!yk"ad #

$a%en
&ttp'//ma%en.apac&e.org
(arz)dzie do zarz*dzania projektami i +i+liotekami dla
ja%y ,i nie tylko ja%y-.

$a%en . co jest nam
potrze+ne//
Po+ieramy ma%ena z ma%en.apac&e.org ,najnowsza wersja na
grudzie0 2012 to .0.1 wydana w styczniu 2012-.
Przydatny +)dzie tak2e plugin do (et3eansa4 kt5ry od wersji
6.7 znajduje si) domy8lnie w (et3eansie ,tak2e $a%en
znajduje si) domy8lnie w najnowszyc& werjac& (et3eansa ale
my korzystamy z ma%ena4 kt5rego so+ie oso+no po+ieramy-.

$a%en . instalacja . c.d.
1. 9ozpakowujemy zipa z ma%enem.
2. :stawiamy'
;<=<>?@$A . Bolder z ja%* ,;CK-
. Codajemy +in z ma%ena do P<D?
1. !eryBikujemy poprawno8E instalacji ,przyk"ad poni2ej-.

$a%en . repozytorium jar5w
!a2n* cec&* $a%ena jest to4 2e zarz*dza zale2no8ciami w naszym
projekcie . umie sam 8ci*gaE jary z +i+liotekami4 od kt5ryc& nasz
projekt zale2y ,8ci*ga je z glo+alnego repozytorium jar5w na stronac&
repo.ma%en.apac&e.org/ma%en2 . lu+ innyc&4 to mo2na so+ie ustawiE F
do lokalnego repozytorium jar5w-.
<+y jednak m5g" to ro+iE musimy mieE po"*czenie z Internetem.

$a%en . konBiguracja
repozytorium jar5w
Akran jest dla m%n 2 ale dla jest tak samo. ! pliku settings
mo2na ustawiE te2 inne ni2 domy8lne repozytorium zdalne.

$a%en . ustawienie 8cie2ki
! tools FG options ustawiamy 8cie2k) do $a%ena
$amy opcj)
stworzenia
projektu $a%en

$a%en F arc&etypy
$a%en +azuje na tzw arc&etypac&' arc&etyp to struktura projektu w
ma%enie. Szkielet takiego projektu mo2na utworzyE z wiersza polece0
,polecenie m%n arc&etype'generate-4 ale my zro+imy to przez
(et3eans.

$a%en . arc&etypy . c.d.
;e8li nie mamy po"*czenia z Internetem to w tym momencie
traBimy na +"*d gdy2 deBinicje arc&etyp5w ,je8li nie ma ic& w
lokalnym repozytorium a nie ma +o na razie jest puste- ma%en
8ci*ga ze zdalnego repozytoriumH.
<+y uruc&omiE przyk"ad na komputerze +ez dost)pu do sieci
zro+i"em wszystko na komputerze gdy +y" do niej pod"*czony.
@czywi8cie nie trze+a korzystaE z arc&etyp5w. $o2na struktur)
projektu utworzyE r)cznie.

$a%en F repozytorium
(a komputerze +ez
Internetu +ardzo
trudno si) to ro+iH

$a%en uruc&amianie projektu
z (et3eansa
Po stworzeniu
projektu mo2na go
z+udowaE lu+/i
uruc&omiE.

$a%en . uruc&amianie
projektu z wiersza polece0
<+y z+udowaE projekt
nale2y si) ustawiE w
Bolderze g"5wnym
projektu i wykonaE'
m%n clean install
<+y wykonaE go z
wiersza polece0 nale2y
dodaE do pliku pom.Iml
,ten plik to JmakeBileK-
wpis jak po prawej.
m%n clean install
m%n eIec'ja%a

$a%en . tworzenie aplikacji
we+owej
Co aplikacji
we+owyc& s"u2y
arc&etyp'
ma%enFarc&etypeF
we+app
!ykorzystamy go
do stworzenia
szkieletu aplikacji
we+owej

$amy prost* aplikacj)
we+ow* z &ello worldem
L+udowanie jej
sprawi4 2e
stworzy si) war
i zostanie
wgrany do
lokalnego
repozytorium.

3udujemy aplikacj) we+ow*
m%n clean install

$a%en F zalezno8ci
@czywi8cie jary musz*
znajdowaE si) w
repozytorium ,ale je8li
mamy Internet to ma%en
sam je 8ci*gnie je8li ic&
tam nie ma-

$a%en . plugin jetty
! pliku pom.Iml
zamiast pluginu
startuj*cego
maszyn) wirtualn*
ustawiamy plugin
startuj*cy jettyego i
umieszczaj*cy na
nim wara z
aplikacj*. Cane
konBiguracyjne i
zale2no8ci
umieszczamy w
pliku pom i jetty.Iml
Sk"adnia dla jetty M
jest troc&) inna
,kolejne slajdy-
Den plik
stworzy"em i
wgra"em r)cznie
Przy starcie
jettyego
+i+lioteki ,w
repozytorium-

pom.Iml . wersja ja%y
! pliku pom.Iml wymagany jest wpis4 jaka najni2sza wersja ja%y
jest potrze+na dla projektu
! ma%enie nie ma ju2 takiej potrze+y.

$a%en struktura projektu
Klasy ja%y znajduj* si) w main/ja%a4 a
strony jsp i inne zaso+y kt5re maj*
+yE umieszczone w warze w Bolderze
we+app.
Nolder resources s"u2y do test5w ,s*
to zaso+y widoczne w testac& ale nie
umieszczane w warze-.
Projekt +udujemy przez
m%n clean install
i startujemy przez
m%n jetty'run

$a%en przyk"ad 2

$a%en przyk"ad 2 konBiguracja
pluginu

Struktura projektu

Serwlet nr 1 konBiguracja przez we+.Iml

KonBiguracja przez adnotacj)
@d .0 wpis w pliku we+.Iml ani w og5le sam plik
we+.Iml nie jest wymagany ,c&oE jest dozwolony-.
Przy o+u rodzajac& konBiguracji jetty ,kontener
serwlet5w- tworzy instancj) serwletu i oddelegowuje
do niego 2*dania ze stosown* 8cie2k*.

Las5+ ;(CI
@czywi8cie zas5+ ,pula po"*cze0- musi +yE
skonBigurowany w jetty.Iml. ;est te2 mo2liwo8E
umieszczenia tej konBiguracji w pom.Iml. ! pom Iml
musz* +yE odpowiednie zale2no8ci ,sterownik do +azy i
+i+lioteka do pul po*cze0- w OdependenciesG dla pluginu
jetty.

Po+ranie zaso+u . pus&
+ased
<plikacja wyci*ga reBerencj) do
zaso+u z us"ugi ;(CI w
kontenerze. !ymagany
we+.Iml.

Po+ranie zaso+u . pull +ased
Kontener wpyc&a do o+iektu serwletu reBerencj) do
zaso+u. (ie wymagany wpis w we+.Iml ,ani w og5le
plik we+.Iml-. $o2liwe tylko dla pola w klasie i tylko w
instancji o+iektu tworzonego przez kontener.

You might also like