Kako rasporediti WAR datoteku u Tomcat

1. Pregled

Apache Tomcat jedan je od najpopularnijih web poslužitelja u Java zajednici. Dostavlja se kao spremnik za servlet sposoban posluživati ​​web ARHIVE s WAR nastavkom.

Pruža nadzornu ploču za upravljanje iz koje možete rasporediti novu web-aplikaciju ili razvrstati postojeću bez ponovnog pokretanja spremnika. To je posebno korisno u proizvodnim okruženjima.

U ovom ćemo članku napraviti kratki pregled Tomcata, a zatim ćemo obraditi razne pristupe postavljanju WAR datoteke.

2. Građa Tomcat

Prije nego što započnemo, trebali bismo se upoznati s nekom terminologijom i varijablama okoline.

2.1. Varijable okoline

Ako ste već surađivali s Tomcatom, ovi će vam biti vrlo poznati:

$ CATALINA_HOME

Ova varijabla upućuje na direktorij u kojem je instaliran naš poslužitelj.

$ CATALINA_BASE

Ova varijabla upućuje na direktorij određene instance Tomcata, možda imate instalirano više instanci. Ako ova varijabla nije eksplicitno postavljena, tada će joj se dodijeliti ista vrijednost kao $ CATALINA_HOME.

Web aplikacije raspoređene su pod $ CATALINA_HOME \ webapps imenik.

2.2. Terminologija

Korijen dokumenta. Odnosi se na direktorij najviše razine web aplikacije, gdje su svi resursi aplikacije smješteni poput JSP datoteka, HTML stranica, Java klasa i slika.

Put konteksta. Odnosi se na mjesto koje je u odnosu na adresu poslužitelja i predstavlja naziv web aplikacije.

Na primjer, ako je naša web aplikacija stavljena pod $ CATALINA_HOME \ webapps \ myapp direktoriju, pristupit će mu URL // localhost / myapp, a njegov će kontekst put biti / myapp.

RAT. Je li nastavak datoteke koja pakira hijerarhiju direktorija web aplikacija u ZIP formatu i skraćenica je od Web Archive. Java web aplikacije obično se pakiraju kao WAR datoteke za implementaciju. Te se datoteke mogu stvoriti na naredbenom retku ili s IDE-om poput Eclipsea.

Nakon postavljanja naše WAR datoteke, Tomcat je raspakira i pohranjuje sve datoteke projekta u webapps direktorij u novom direktoriju nazvanom po projektu.

3. Postavljanje Tomcata

Web poslužitelj Tomcat Apache besplatan je softver koji se može preuzeti s njihove web stranice. Potrebno je da na korisnikovom stroju postoji JDK i da JAVA_KUĆA varijabla okoline je ispravno postavljena.

3.1. Pokrenite Tomcat

Tomcat poslužitelj možemo pokrenuti jednostavnim pokretanjem pokretanje skripta smještena na $ CATALINA_HOME \ bin \ pokretanje. Tamo je .šišmiš i a .šš u svakoj instalaciji.

Odaberite odgovarajuću opciju ovisno o tome koristite li operativni sustav zasnovan na sustavu Windows ili Unix.

3.2. Konfigurirajte uloge

Tijekom faze implementacije imat ćemo neke mogućnosti, od kojih je jedna korištenje Tomcatove nadzorne ploče. Da bismo pristupili ovoj nadzornoj ploči, moramo imati administratora koji je konfiguriran s odgovarajućim ulogama.

Da bi imao pristup nadzornoj ploči, administratoru je potreban upravitelj-gui uloga. Kasnije ćemo trebati rasporediti WAR datoteku pomoću Mavena, za to nam je potreban upravitelj-skripta uloga također.

Uvedimo ove promjene u $ CATALINA_HOME \ conf \ tomcat-korisnici:

Više detalja o različitim ulogama Tomcata možete pronaći slijedeći ovu službenu poveznicu.

3.3. Postavi dozvole za direktorij

Na kraju, osigurajte da postoji dopuštenje za čitanje / pisanje na instalacijskom direktorijumu Tomcat.

3.4. Test instalacija

Da biste provjerili je li Tomcat pravilno postavljen, pokrenite skriptu za pokretanje (pokretanje.bat/pokretanje.sh), ako se na konzoli ne prikazuju pogreške, možemo provjeriti posjetom // localhost: 8080.

Ako vidite odredišnu stranicu Tomcat, tada smo ispravno instalirali poslužitelj.

3.5. Riješite sukob luka

Prema zadanim postavkama, Tomcat je postavljen za preslušavanje veza na priključku 8080. Ako postoji druga aplikacija koja je već vezana za ovaj port, početna će nas konzola obavijestiti.

Da bismo promijenili port, možemo urediti konfiguracijsku datoteku poslužitelja poslužitelj.xml smješteno na $ CATALINA_HOME \ conf \ server.xml. Prema zadanim postavkama, konfiguracija konektora je sljedeća:

Na primjer, ako želimo promijeniti port u 8081, tada ćemo morati promijeniti atribut priključka konektora ovako:

Ponekad, port koji smo odabrali nije prema zadanim postavkama otvoren, u ovom slučaju trebat ćemo ga otvoriti odgovarajućim naredbama u Unix kernelu ili stvaranjem odgovarajućih pravila vatrozida u sustavu Windows, a to je izvan okvira ovaj članak.

4. Rasporedi iz Mavena

Ako želimo koristiti Maven za postavljanje web arhiva, Tomcat moramo konfigurirati kao poslužitelj u Mavenu postavke.xml datoteka.

Postoje dva mjesta na kojima postavke.xml datoteka se može naći:

  • Instalacija Mavena: $ {maven.home} /conf/settings.xml
  • Instalacija korisnika: $ {user.home} /. m2 / settings.xml

Nakon što ga pronađete dodajte Tomcat na sljedeći način:

 Administratorska lozinka za TomcatServer 

Sada ćemo trebati stvoriti osnovnu web aplikaciju od Mavena za testiranje implementacije. Idemo do mjesta na kojem želimo stvoriti aplikaciju.

Pokrenite ovu naredbu na konzoli za stvaranje nove Java web aplikacije:

mvn arhetip: generiraj -DgroupId = com.baeldung -DartifactId = tomcat-war-deployment -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = false

To će stvoriti cjelovitu web aplikaciju u direktoriju tomcat-rat-raspoređivanje koji se, ako ga sada implementiramo i pristupimo putem preglednika, ispisuju Pozdrav svijete!.

No prije nego što to učinimo, moramo napraviti jednu promjenu kako bismo omogućili Mavenovu implementaciju. Pa krenite na pom.xml i dodajte ovaj dodatak:

 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 // localhost: 8080 / manager / text TomcatServer / myapp 

Imajte na umu da koristimo dodatak Tomcat 7 jer radi za obje verzije 7 i 8 bez posebnih promjena.

Konfiguracija url je url na koji šaljemo svoju implementaciju, Tomcat će znati što s njim učiniti. The poslužitelju element je ime instance poslužitelja koju Maven prepoznaje. Napokon, staza element definira put konteksta našeg raspoređivanja.

To znači da ćemo, ako naša implementacija uspije, pristupiti web aplikaciji pritiskom na // localhost: 8080 / myapp.

Sada možemo pokrenuti sljedeće naredbe iz Mavena.

Za postavljanje web aplikacije:

mvn tomcat7: raspoređivanje

Da biste ga rasporedili:

mvn tomcat7: neraspoložen

Da biste se prekomponirali nakon izmjena:

mvn tomcat7: preraspodjela

5. Postavite s dodatkom za teret

Cargo je svestrana knjižnica koja nam omogućuje standardnu ​​manipulaciju raznim vrstama spremnika aplikacija.

5.1. Postavljanje postavljanja tereta

U ovom ćemo odjeljku pogledati kako koristiti dodatak Cargo Maven za postavljanje WAR-a na Tomcat, u ovom ćemo ga slučaju rasporediti na instancu verzije 7.

Da bismo se čvrsto uhvatili u čitav postupak, započet ćemo ispočetka stvaranjem nove Java web aplikacije iz naredbenog retka:

mvn arhetip: generiraj -DgroupId = com.baeldung -DartifactId = cargo-deploy -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = false

To će stvoriti cjelovitu Java web aplikaciju u razmještanje tereta imenik. Ako napravimo, implementiramo i učitamo ovaj program onakav kakav jest, ispisat će se Pozdrav svijete! u pregledniku.

Za razliku od dodatka Tomcat7 Maven, dodatak Cargo Maven zahtijeva da ova datoteka bude prisutna.

Budući da naša web aplikacija ne sadrži servlete, naša web.xml datoteka će biti vrlo osnovna. Dakle, idite na WEB-INF mapu našeg novostvorenog projekta i stvorite a web.xml datoteka sljedećeg sadržaja:

  indeks razmještaja tereta.jsp 

Da bi Maven mogao prepoznati Cargo naredbe bez upisivanja potpuno kvalificiranog imena, moramo dodati dodatak Cargo Maven grupi dodataka u Mavenovim postavke.xml.

Kao neposredno dijete korijena element, dodajte ovo:

 org.codehaus.cargo 

5.2. Lokalno raspoređivanje

U ovom ćemo pododjeljku urediti naš pom.xml kako bi odgovarali našim novim zahtjevima za implementaciju.

Dodatak dodajte na sljedeći način:

   org.codehaus.cargo cargo-maven2-plugin 1.5.0 instaliran tomcat7x Umetnite apsolutni put do postojeće instalacije tomcat 7 Umetnite apsolutni put do instalacije tomcat 7 

Najnovija verzija, u vrijeme pisanja ovog članka, je 1.5.0. Međutim, najnoviju verziju uvijek možete pronaći ovdje.

Primijetite da ambalažu izričito definiramo kao RAT, bez toga naša izrada neće uspjeti. U odjeljak dodataka dodajemo dodatak cargo maven2. Dodatno, dodajemo odjeljak za konfiguraciju u kojem Mavenu kažemo da koristimo Tomcat spremnik i također postojeću instalaciju.

Postavljanjem vrste spremnika na instaliran, kažemo Mavenu da imamo instalaciju instaliranu na stroju i dajemo apsolutni URL ovoj instalaciji.

Postavljanjem vrste konfiguracije na postojanje, kažemo Tomcatu da imamo postojeću postavku koju koristimo i nije potrebna dodatna konfiguracija.

Alternativa bi bila reći teret da preuzme i postavi verziju navedenu davanjem URL-a. Međutim, naš fokus je na implementaciji WAR-a.

Vrijedno je napomenuti da, koristimo li Maven 2.x ili Maven 3.x, dodatak cargo maven2 radi i za jedno i za drugo.

Sada možemo instalirati našu aplikaciju izvršavanjem:

mvn instalirati

i razmještanjem na način da:

mvn teret: rasporediti

Ako sve bude u redu, trebali bismo moći pokrenuti našu web aplikaciju učitavanjem // localhost: 8080 / cargo-deploy.

5.3. Daljinsko postavljanje

Da bismo izvršili daljinsko postavljanje, trebamo samo promijeniti odjeljak za konfiguraciju našeg pom.xml. Daljinsko postavljanje znači da nemamo lokalnu instalaciju Tomcata, ali imamo pristup nadzornoj ploči upravitelja na udaljenom poslužitelju.

Pa promijenimo pom.xml tako da odjeljak za konfiguraciju izgleda ovako:

  tomcat8x udaljeno runtime admin admin // localhost: 8080 / manager / text 

Ovaj put mijenjamo vrstu spremnika iz instaliran do daljinski a tip konfiguracije od postojanje do vrijeme izvođenja. Napokon, u konfiguraciju dodajemo svojstva provjere autentičnosti i udaljenog URL-a.

Osigurajte da su uloge i korisnici već prisutni u $ CATALINA_HOME / conf / tomcat-users.xml baš kao i prije.

Ako uređujete isti projekt za daljinski implementaciju, prvo poništite postojeći WAR:

mvn teret: neraspoređen

očistite projekt:

mvn čist

instalirajte ga:

mvn instalirati

konačno, rasporedite ga:

mvn teret: rasporediti

To je to.

6. Rasporedi iz Eclipsea

Eclipse nam omogućuje ugrađivanje poslužitelja za dodavanje implementacije web projekata u uobičajeni tijek rada bez napuštanja IDE-a.

6.1. Ugradite Tomcat u Eclipse

Instalaciju možemo ugraditi u eclipse odabirom prozor stavka izbornika s programske trake, a zatim preferencije od padajućeg.

Na lijevoj ploči prozora koji će se pojaviti pronaći ćemo mrežu stabala stavki preferencija. Tada možemo doći do eclipse -> poslužitelji ili samo upišite poslužitelji u traci za pretraživanje.

Zatim odabiremo instalacijski direktorij, ako nam već nije otvoren, i odabiremo verziju Tomcat koju smo preuzeli.

Na desnoj strani ploče prikazat će se stranica s konfiguracijom na kojoj odaberemo opciju Omogući za aktiviranje ove verzije poslužitelja i pronalazak instalacijske mape.

Primjenjujemo promjene i sljedeći put kada otvorimo prikaz poslužitelja iz Eclipsea prozori -> prikaži prikaz podizbornika, novokonfigurirani poslužitelj će biti prisutan i na njega možemo pokretati, zaustavljati i postavljati aplikacije.

6.2. Postavite web aplikaciju u ugrađeni Tomcat

Da bi web aplikacija postavila na Tomcat, ona mora postojati u našem radnom prostoru.

Otvori poslužitelji pogled sa prozor -> prikaži prikaz i potražite poslužitelje. Kad je otvoren, možemo samo desnom tipkom miša kliknuti poslužitelj koji smo konfigurirali i odabrali dodati raspored iz kontekstnog izbornika koji se pojavi.

Od Nova implementacija dijaloški okvir koji se pojavi, otvorite projekt padajućeg izbornika i odaberite web projekt.

Tamo je Vrsta primjene odjeljak ispod Projekt kombinirani okvir kada odaberemo Exploded Archive (razvojni način), naše promjene u aplikaciji sinkronizirat će se uživo bez potrebe za ponovnim rasporedom, ovo je najbolja opcija tijekom razvoja jer je vrlo učinkovita.

Odabir Pakirana arhiva (produkcijski način) zahtijevat će da se preusmjerimo svaki put kad izvršimo promjene i vidimo ih u pregledniku. Ovo je najbolje samo za proizvodnju, ali ipak, Eclipse to čini jednako jednostavnim.

6.3. Postavite web aplikaciju na vanjsko mjesto

Obično odlučimo rasporediti WAR putem Eclipsea kako bismo olakšali ispravljanje pogrešaka. Možda dođe vrijeme kada želimo da se postavi na mjesto koje nije ono što koriste ugrađeni poslužitelji Eclipsea. Najčešći je slučaj kada je naš proizvodni poslužitelj na mreži i želimo ažurirati web aplikaciju.

Ovu proceduru možemo zaobići postavljanjem u produkcijski način i bilježenjem Postavite lokaciju u Nova implementacija dijaloški okvir i odabir RATA odatle.

Tijekom implementacije, umjesto odabira ugrađenog poslužitelja, možemo odabrati opcija iz poslužitelji pogled uz popis ugrađenih poslužitelja. Idemo do webapps direktorij vanjske Tomcat instalacije.

7. Primjena iz IntelliJ IDEA

Da bi web aplikacija postavila na Tomcat, ona mora postojati i već je preuzeta i instalirana.

7.1. Lokalna konfiguracija

Otvori Trčanje i kliknite na Uredi konfiguracije mogućnosti.

Na ploči s lijeve strane potražite Tomcat poslužitelj, ako ga nema, pritisnite znak + u izborniku, potražite Mačak i odaberite Lokalno. U polje imena stavite Tomcat 7/8 (ovisno o vašoj verziji).

Pritisnite Konfigurirati… gumb i unutra Tomcat dom polje dođite do matične lokacije vaše instalacije i odaberite je.

Po želji postavite Pokretanje stranica koja treba biti // localhost: 8080 / i HTTP priključak: 8080, promijenite port prema potrebi.

Idite na Raspoređivanje karticu i kliknite simbol +, odaberite artefakt koji želite dodati na poslužitelj i kliknite U redu

7.2. Daljinska konfiguracija

Slijedite iste upute kao i za lokalne konfiguracije Tomcat, ali na kartici poslužitelja morate unijeti udaljeno mjesto instalacije.

8. Primijenite kopiranjem arhive

Vidjeli smo kako izvesti RAT iz Eclipsea. Jedna od stvari koju možemo učiniti je rasporediti ga jednostavnim ispuštanjem u $ CATALINA_HOME \ webapps direktoriju bilo koje Tomcat instance. Ako se instanca izvodi, implementacija će započeti odmah kada Tomcat raspakira arhivu i konfigurira njezin put konteksta.

Ako se instanca ne izvodi, tada će poslužitelj implementirati projekt sljedeći put kada se pokrene.

9. Postavljanje iz upravitelja Tomcat

Pod pretpostavkom da već imamo na raspolaganju našu WAR datoteku i željeli bismo je rasporediti pomoću upravljačke nadzorne ploče. Nadzornoj ploči upravitelja možete pristupiti posjetom: // localhost: 8080 / manager.

Nadzorna ploča ima pet različitih odjeljaka: Menadžer, Prijave, Rasporediti, Dijagnostika, i Informacije o poslužitelju. Ako odete na Rasporediti odjeljak pronaći ćete dva pododjeljka.

9.1. Postavite direktorij ili WAR datoteku koja se nalazi na poslužitelju

Ako se datoteka WAR nalazi na poslužitelju na kojem se izvodi instanca Tomcat, tada možemo ispuniti traženo Put konteksta polju kojem prethodi kosa crta "/".

Recimo da bismo željeli da se našoj web aplikaciji pristupa iz preglednika s URL-om // localhost: 8080 / myapp, tada će imati naše polje put konteksta / myapp.

Preskačemo URL datoteke XML datoteke za konfiguraciju polje i krenite prema URL RATA ili direktorija polje. Ovdje unosimo apsolutni URL datoteke Web ARchive onako kako se pojavljuje na našem poslužitelju. Recimo da je lokacija naše datoteke C: /apps/myapp.war, onda ulazimo na ovo mjesto. Ne zaboravite na WAR produženje.

Nakon toga možemo kliknuti rasporediti dugme. Stranica će se ponovo učitati i trebali bismo vidjeti poruku:

U redu - Postavljena aplikacija na kontekstnoj stazi / myapp

na vrhu stranice.

Uz to, naša bi se aplikacija također trebala pojaviti u Prijave odjeljak stranice.

9.2. WAR datoteka za postavljanje

Samo kliknite odaberite datoteku gumb, pomaknite se do mjesta WAR datoteke i odaberite ga, a zatim kliknite rasporediti dugme.

U obje situacije, ako sve bude u redu, Tomcat konzola obavijestit će nas da je implementacija uspješna, porukom poput sljedeće:

INFO: Implementacija arhive web-aplikacije \ path \ to \ deployed_war završena je za 4833 ms

10. Zaključak

U ovom tekstu usredotočili smo se na postavljanje WAR-a na Tomcat poslužitelj.