Kihagyás

Troubleshoot

Ezen az oldalon található leírások azt a célt szolgálják, hogy a gyakran előforduló hibákat könnyen lehessen megoldani, részletes leírás alapján. Ha valaki úgy gondolja, hogy ismer olyan hibát, ami gyakran fordul elő a gyakorlatok során és nem található itt, jelezze a gyakorlatvezetőknek egy hivatalos csatornán (email / CooSpace) és ha úgy találják a gyakorlatvezetők, az is felvételre kerül ebbe a listába!

Artifact beállítása TomCat szerverre kézzel

Miről ismerjük fel

A kézzel történő kunfigurálást akkor kell megtennünk, ha az IDE nem találta meg az artifact-ot automatikusan. Amikor a szervert beállítjuk (kiválasztottuk, hogy melyik TomCat-et szeretnénk használni) és rámegyünk a pirossal kiemelt "FIX" gombra nem jönnek elő a lehetőségek.

Erről kép:

No artifact present

Artifact hozzáadása

Itt középen nem jelenik meg választható artifact. Ekkor a pluszjelre kell mennünk, hogy kézzel adjuk hozzá:

No artifact present plus sign marked

Ezután ki kell választanunk, hogy milyen artifact-ot szeretnénk hozzáadni: Web Application: Archive

Artifact type selection

Ekkor egy új ablak jelenik meg, ahol különféle beállításokat kell megtennünk. A name adattagot írjuk át a module (Maven MultiModule Webes rész neve) nevére és az output directory-ban a kijelölt részt out/artifacts/unnamed cseréljük le a \<modul-neve>/target könyvtárra!

Átírások előtt:

What is default with wrong values

Átírások után (web modulnevet feltételezve):

Fixed values for artifact

Ekkor rányomhatunk az OK-ra, majd a következő felület fogad:

Artifact added

Itt látható, hogy az application context az a web (a modul neve alapján) lesz, tehát a szerver címe után még ezt kell beírni, hogy elérjük a mi tartalmunkat (ilyen mappa lesz a szerveren).

Az is látszódik, hogy a futtatás előtt különféle feladatokat futtathatunk, pl. lefordíthatjuk az alkalmazásunkat, összecsomagolhatjuk, hogy a legújabb változatot használja a szerver.

Változtatott kód

Menjünk a Before launch-nál található plusz jelre:

Where to click for additional tasks before launch

Itt válasszuk ki a Run Maven Goal-t

Select run maven goal

Ezután adjuk meg a kívánt maven goal-t. Most egy clean-t adunk meg, ami kitöröl mindent, majd egy package-t, ami lefordítja a projectet és összeállítja a végleges csomagot (war file).

Add clean package maven goals

Indítási URL

Ha ezt beállítottuk, akkor az artifact megfelelően van konfigurálva. Már csak annyi kell, hogy az IDE amikor elindítja a böngészőt, akkor a megfelelő application context-ben indítsa el azt. Ezt az url-nél megadott részben tudjuk beírni. A pár lépéssel ezelőtti application context-re lesz szükségünk.

Fix application context in url

Ezzel beállítottuk az artifactot amit deploy-kor a rendszer lefordít, összerakja az új csomagot kirakja a szerverre majd elindítja a böngészőt a megfelelő url-el.

Dependency automatikus hozzáadása

Ha nem működne a dependency hozzáadása:

Dependency action not working

Dependency action not working

Ekkor csak a típust meghagyva az IDE megtalálja a dependency-t.

Dependency action working

Így a Core dependency-t automatikusan hozzá lehet adni a projekthez, azonban ekkor az ide a dependency-nek egy scope-ot állít be, méghozzá compile scope-ot ami miatt futás közben a rendszer nem találja a megfelelő osztályokat.

A rossz dependency:

Bad scope: compile

Ami a következő hibaüzenetet eredményezheti:

Bad scope error

A scope-ot kitörölve megoldhatjuk a problémát.

Good scope: default

doXXX metódus super hívása

Az IDE a Servlet doXXX metódusainak generál super hívást. Ezt a hívást töröljük ki. A super megvalósítás hibát küld az oldalra mint nem támogatott kérés.

Call super doXXX causes 405

Vegyük ki a super.doXXX() hívásokat!

TomCat verzió

Ha az oldal nem tölti be a helyesnek tűnő osztályt, mintha nem lenne olyan útvonal, azt is ellenőrizzük, milyen verziójú TomCat szervert használunk! Tomcat 9 - javax függőségek Tomcat 10+ - jakarta függőségek

Ha rossz szerver verzió - függőség párost használunk, a projekt lefordul, de a szerver nem találja meg az osztályokat.

Jó gyakorlást!


Utolsó frissítés: 2023-04-18 12:32:31