[{"data":1,"prerenderedAt":724},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002F2011-10-24-hot-deploy-to-remote-tomcat":406,"\u002Fblog\u002F2011-10-24-hot-deploy-to-remote-tomcat-surround":713},[4,8,39,52,264,310,319,380,397],{"title":5,"path":6,"stem":7},"Notes","\u002Fnotes","1.notes\u002Findex",{"title":9,"path":10,"stem":11,"children":12,"page":30},"Architecture","\u002Fnotes\u002Farchitecture","1.notes\u002Farchitecture",[13,17,31,35],{"title":14,"path":15,"stem":16},"API Management","\u002Fnotes\u002Farchitecture\u002Fapi-management","1.notes\u002Farchitecture\u002Fapi-management",{"title":18,"path":19,"stem":20,"children":21,"page":30},"Data","\u002Fnotes\u002Farchitecture\u002Fdata","1.notes\u002Farchitecture\u002Fdata",[22,26],{"title":23,"path":24,"stem":25},"ERD","\u002Fnotes\u002Farchitecture\u002Fdata\u002Ferd","1.notes\u002Farchitecture\u002Fdata\u002Ferd",{"title":27,"path":28,"stem":29},"SCWD","\u002Fnotes\u002Farchitecture\u002Fdata\u002Fscwd","1.notes\u002Farchitecture\u002Fdata\u002Fscwd",false,{"title":32,"path":33,"stem":34},"Microservices","\u002Fnotes\u002Farchitecture\u002Fmicroservices","1.notes\u002Farchitecture\u002Fmicroservices",{"title":36,"path":37,"stem":38},"OAuth","\u002Fnotes\u002Farchitecture\u002Foauth","1.notes\u002Farchitecture\u002Foauth",{"title":40,"path":41,"stem":42,"children":43,"page":30},"Archive","\u002Fnotes\u002Farchive","1.notes\u002Farchive",[44,48],{"title":45,"path":46,"stem":47},"Google Web Toolkit","\u002Fnotes\u002Farchive\u002Fgwt","1.notes\u002Farchive\u002Fgwt",{"title":49,"path":50,"stem":51},"Jekyll","\u002Fnotes\u002Farchive\u002Fjekyll","1.notes\u002Farchive\u002Fjekyll",{"title":53,"path":54,"stem":55,"children":56,"page":30},"Development","\u002Fnotes\u002Fdevelopment","1.notes\u002Fdevelopment",[57,74,112,149,226,239,260],{"title":58,"icon":30,"path":59,"stem":60,"children":61,"page":30},"IDE","\u002Fnotes\u002Fdevelopment\u002Fide","1.notes\u002Fdevelopment\u002FIDE",[62,66,70],{"title":63,"path":64,"stem":65},"Jetbrains IDE","\u002Fnotes\u002Fdevelopment\u002Fide\u002Fjetbrains","1.notes\u002Fdevelopment\u002FIDE\u002Fjetbrains",{"title":67,"path":68,"stem":69},"NVIM","\u002Fnotes\u002Fdevelopment\u002Fide\u002Fnvim","1.notes\u002Fdevelopment\u002FIDE\u002Fnvim",{"title":71,"path":72,"stem":73},"tmux","\u002Fnotes\u002Fdevelopment\u002Fide\u002Ftmux","1.notes\u002Fdevelopment\u002FIDE\u002Ftmux",{"title":75,"path":76,"stem":77,"children":78,"page":30},"Algo","\u002Fnotes\u002Fdevelopment\u002Falgo","1.notes\u002Fdevelopment\u002Falgo",[79,83,87,91,95],{"title":80,"path":81,"stem":82},"Algorithms","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Falgorithms","1.notes\u002Fdevelopment\u002Falgo\u002Falgorithms",{"title":84,"path":85,"stem":86},"Data Structures","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fdata_structures","1.notes\u002Fdevelopment\u002Falgo\u002Fdata_structures",{"title":88,"path":89,"stem":90},"Kata","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fkata","1.notes\u002Fdevelopment\u002Falgo\u002Fkata",{"title":92,"path":93,"stem":94},"O-notation","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fo-notation","1.notes\u002Fdevelopment\u002Falgo\u002Fo-notation",{"title":96,"path":97,"stem":98,"children":99,"page":30},"Sorting","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fsorting","1.notes\u002Fdevelopment\u002Falgo\u002Fsorting",[100,104,108],{"title":101,"path":102,"stem":103},"Buble Sort","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fbublesort","1.notes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fbublesort",{"title":105,"path":106,"stem":107},"Merge Sort","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fmergesort","1.notes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fmergesort",{"title":109,"path":110,"stem":111},"Quicksort","\u002Fnotes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fquicksort","1.notes\u002Fdevelopment\u002Falgo\u002Fsorting\u002Fquicksort",{"title":113,"path":114,"stem":115,"children":116,"page":30},"DataStructures","\u002Fnotes\u002Fdevelopment\u002Fdata_structures","1.notes\u002Fdevelopment\u002Fdata_structures",[117,121,125,129,133,137,141,145],{"title":118,"path":119,"stem":120},"ArrayList","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Farray_list","1.notes\u002Fdevelopment\u002Fdata_structures\u002Farray_list",{"title":122,"path":123,"stem":124},"Arrays","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Farrays","1.notes\u002Fdevelopment\u002Fdata_structures\u002Farrays",{"title":126,"path":127,"stem":128},"HashSet","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Fhash_set","1.notes\u002Fdevelopment\u002Fdata_structures\u002Fhash_set",{"title":130,"path":131,"stem":132},"LinkedList","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Flinked_list","1.notes\u002Fdevelopment\u002Fdata_structures\u002Flinked_list",{"title":134,"path":135,"stem":136},"PriorityQueue","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Fpriority_queue","1.notes\u002Fdevelopment\u002Fdata_structures\u002Fpriority_queue",{"title":138,"path":139,"stem":140},"Stack","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Fstack","1.notes\u002Fdevelopment\u002Fdata_structures\u002Fstack",{"title":142,"path":143,"stem":144},"TreeSet","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Ftree_set","1.notes\u002Fdevelopment\u002Fdata_structures\u002Ftree_set",{"title":146,"path":147,"stem":148},"Vector","\u002Fnotes\u002Fdevelopment\u002Fdata_structures\u002Fvector","1.notes\u002Fdevelopment\u002Fdata_structures\u002Fvector",{"title":150,"path":151,"stem":152,"children":153,"page":30},"Java","\u002Fnotes\u002Fdevelopment\u002Fjava","1.notes\u002Fdevelopment\u002Fjava",[154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222],{"title":155,"path":156,"stem":157},"Bit Operations","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fbit-operations","1.notes\u002Fdevelopment\u002Fjava\u002Fbit-operations",{"title":159,"path":160,"stem":161},"Cheatsheet","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fcheatsheet","1.notes\u002Fdevelopment\u002Fjava\u002Fcheatsheet",{"title":163,"path":164,"stem":165},"Clean Code","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fclean-code-presentation","1.notes\u002Fdevelopment\u002Fjava\u002Fclean-code-presentation",{"title":167,"path":168,"stem":169},"Java Datasource","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fdata-sources","1.notes\u002Fdevelopment\u002Fjava\u002Fdata-sources",{"title":171,"path":172,"stem":173},"Dependency Injection","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fdependency-injection-presentation","1.notes\u002Fdevelopment\u002Fjava\u002Fdependency-injection-presentation",{"title":175,"path":176,"stem":177},"Java SE","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fjava-standard-edition","1.notes\u002Fdevelopment\u002Fjava\u002Fjava-standard-edition",{"title":179,"path":180,"stem":181},"Java Memory Model","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fjmm","1.notes\u002Fdevelopment\u002Fjava\u002Fjmm",{"title":183,"path":184,"stem":185},"JPA","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fjpa","1.notes\u002Fdevelopment\u002Fjava\u002Fjpa",{"title":187,"path":188,"stem":189},"Keywords","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fkeywords","1.notes\u002Fdevelopment\u002Fjava\u002Fkeywords",{"title":191,"path":192,"stem":193},"Maven","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fmaven","1.notes\u002Fdevelopment\u002Fjava\u002Fmaven",{"title":195,"path":196,"stem":197},"Spring AOP","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-aop-presentation","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-aop-presentation",{"title":199,"path":200,"stem":201},"Spring Boot","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-boot","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-boot",{"title":203,"path":204,"stem":205},"Spring Core","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-core-presentation","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-core-presentation",{"title":207,"path":208,"stem":209},"Spring Data","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-data","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-data",{"title":211,"path":212,"stem":213},"Spring JDBC","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-jdbc","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-jdbc",{"title":215,"path":216,"stem":217},"Spring MVC","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-mvc-presentation","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-mvc-presentation",{"title":219,"path":220,"stem":221},"Spring Security","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Fspring-security","1.notes\u002Fdevelopment\u002Fjava\u002Fspring-security",{"title":223,"path":224,"stem":225},"Testing","\u002Fnotes\u002Fdevelopment\u002Fjava\u002Ftesting","1.notes\u002Fdevelopment\u002Fjava\u002Ftesting",{"title":227,"path":228,"stem":229,"children":230,"page":30},"Js","\u002Fnotes\u002Fdevelopment\u002Fjs","1.notes\u002Fdevelopment\u002Fjs",[231,235],{"title":232,"path":233,"stem":234},"JavaScript","\u002Fnotes\u002Fdevelopment\u002Fjs\u002Fjava-script","1.notes\u002Fdevelopment\u002Fjs\u002Fjava-script",{"title":236,"path":237,"stem":238},"NodeJS","\u002Fnotes\u002Fdevelopment\u002Fjs\u002Fnode-js","1.notes\u002Fdevelopment\u002Fjs\u002Fnode-js",{"title":240,"path":241,"stem":242,"children":243,"page":30},"PowerPlatform","\u002Fnotes\u002Fdevelopment\u002Fpower_platform","1.notes\u002Fdevelopment\u002Fpower_platform",[244,248,252,256],{"title":245,"path":246,"stem":247},"Power Apps","\u002Fnotes\u002Fdevelopment\u002Fpower_platform\u002Fpower-apps","1.notes\u002Fdevelopment\u002Fpower_platform\u002Fpower-apps",{"title":249,"path":250,"stem":251},"Power Automate","\u002Fnotes\u002Fdevelopment\u002Fpower_platform\u002Fpower-automate","1.notes\u002Fdevelopment\u002Fpower_platform\u002Fpower-automate",{"title":253,"path":254,"stem":255},"Power BI","\u002Fnotes\u002Fdevelopment\u002Fpower_platform\u002Fpower-bi","1.notes\u002Fdevelopment\u002Fpower_platform\u002Fpower-bi",{"title":257,"path":258,"stem":259},"Sharepoint","\u002Fnotes\u002Fdevelopment\u002Fpower_platform\u002Fsharepoint","1.notes\u002Fdevelopment\u002Fpower_platform\u002Fsharepoint",{"title":261,"path":262,"stem":263},"Python","\u002Fnotes\u002Fdevelopment\u002Fpython","1.notes\u002Fdevelopment\u002Fpython",{"title":265,"path":266,"stem":267,"children":268,"page":30},"Devops","\u002Fnotes\u002Fdevops","1.notes\u002Fdevops",[269,273,277,281,285,289,293,297,306],{"title":270,"path":271,"stem":272},"Containers","\u002Fnotes\u002Fdevops\u002Fcontainers","1.notes\u002Fdevops\u002Fcontainers",{"title":274,"path":275,"stem":276},"Curl","\u002Fnotes\u002Fdevops\u002Fcurl","1.notes\u002Fdevops\u002Fcurl",{"title":278,"path":279,"stem":280},"GCP","\u002Fnotes\u002Fdevops\u002Fgcp","1.notes\u002Fdevops\u002Fgcp",{"title":282,"path":283,"stem":284},"GIT","\u002Fnotes\u002Fdevops\u002Fgit","1.notes\u002Fdevops\u002Fgit",{"title":286,"path":287,"stem":288},"Jenkins","\u002Fnotes\u002Fdevops\u002Fjenkins","1.notes\u002Fdevops\u002Fjenkins",{"title":290,"path":291,"stem":292},"Kubernetes","\u002Fnotes\u002Fdevops\u002Fkubernetes","1.notes\u002Fdevops\u002Fkubernetes",{"title":294,"path":295,"stem":296},"Linux","\u002Fnotes\u002Fdevops\u002Flinux","1.notes\u002Fdevops\u002Flinux",{"title":298,"path":299,"stem":300,"children":301,"page":30},"Os","\u002Fnotes\u002Fdevops\u002Fos","1.notes\u002Fdevops\u002Fos",[302],{"title":303,"path":304,"stem":305},"MAC OS","\u002Fnotes\u002Fdevops\u002Fos\u002Fmacos","1.notes\u002Fdevops\u002Fos\u002Fmacos",{"title":307,"path":308,"stem":309},"WSL","\u002Fnotes\u002Fdevops\u002Fwsl","1.notes\u002Fdevops\u002Fwsl",{"title":311,"path":312,"stem":313,"children":314,"page":30},"Hardware","\u002Fnotes\u002Fhardware","1.notes\u002Fhardware",[315],{"title":316,"path":317,"stem":318},"Keyboard","\u002Fnotes\u002Fhardware\u002Fkeyboard","1.notes\u002Fhardware\u002Fkeyboard",{"title":320,"path":321,"stem":322,"children":323,"page":30},"Homelab","\u002Fnotes\u002Fhomelab","1.notes\u002Fhomelab",[324,328,337,350],{"title":325,"path":326,"stem":327},"Proxmox","\u002Fnotes\u002Fhomelab\u002F_-proxmox-1","1.notes\u002Fhomelab\u002F_ proxmox 1",{"title":329,"path":330,"stem":331,"children":332,"page":30},"Cloudflare","\u002Fnotes\u002Fhomelab\u002Fcloudflare","1.notes\u002Fhomelab\u002Fcloudflare",[333],{"title":334,"path":335,"stem":336},"Cloudflare Workers","\u002Fnotes\u002Fhomelab\u002Fcloudflare\u002Fworkers","1.notes\u002Fhomelab\u002Fcloudflare\u002Fworkers",{"title":338,"path":339,"stem":340,"children":341,"page":30},"HomeAssistant","\u002Fnotes\u002Fhomelab\u002Fhome_assistant","1.notes\u002Fhomelab\u002Fhome_assistant",[342,346],{"title":343,"path":344,"stem":345},"EspHome debugger","\u002Fnotes\u002Fhomelab\u002Fhome_assistant\u002Fesphome-debugger","1.notes\u002Fhomelab\u002Fhome_assistant\u002Fesphome-debugger",{"title":347,"path":348,"stem":349},"GIT integration","\u002Fnotes\u002Fhomelab\u002Fhome_assistant\u002Fgit-integration","1.notes\u002Fhomelab\u002Fhome_assistant\u002Fgit-integration",{"title":325,"path":351,"stem":352,"children":353},"\u002Fnotes\u002Fhomelab\u002Fproxmox","1.notes\u002Fhomelab\u002Fproxmox",[354,358,362,365,369,373,377],{"title":355,"path":356,"stem":357},"Issue: TASK ERROR: Device \u002Fdev\u002Fdri\u002Fcard1 does not exist","\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Fissue_task_error_device_dev_dri_card1_does-not-exist","1.notes\u002Fhomelab\u002Fproxmox\u002FIssue_TASK_ERROR_device_dev_dri_card1_does not exist",{"title":359,"path":360,"stem":361},"Mount USB Drive To LXC Container","\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Fmount-usb-drive-to-lxc-container","1.notes\u002Fhomelab\u002Fproxmox\u002FMount USB drive to LXC container",{"title":325,"path":363,"stem":364},"\u002Fnotes\u002Fhomelab\u002Fproxmox\u002F_-proxmox","1.notes\u002Fhomelab\u002Fproxmox\u002F_ proxmox",{"title":366,"path":367,"stem":368},"ARR","\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Farr","1.notes\u002Fhomelab\u002Fproxmox\u002Farr",{"title":370,"path":371,"stem":372},"Auto login via SSH from Proxmox UI","\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Fauto_login_via_ssh_from_proxmox_ui","1.notes\u002Fhomelab\u002Fproxmox\u002Fauto_login_via_ssh_from_proxmox_ui",{"title":374,"path":375,"stem":376},"Installation","\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Fdokploy","1.notes\u002Fhomelab\u002Fproxmox\u002Fdokploy",{"title":290,"path":378,"stem":379},"\u002Fnotes\u002Fhomelab\u002Fproxmox\u002Fkubernetes","1.notes\u002Fhomelab\u002Fproxmox\u002Fkubernetes",{"title":381,"path":382,"stem":383,"children":384,"page":30},"Leadership","\u002Fnotes\u002Fleadership","1.notes\u002Fleadership",[385,389,393],{"title":386,"path":387,"stem":388},"Leader Toolbox","\u002Fnotes\u002Fleadership\u002Fleader-toolbox","1.notes\u002Fleadership\u002Fleader-toolbox",{"title":390,"path":391,"stem":392},"Enterprise Project Structure","\u002Fnotes\u002Fleadership\u002Fproject-doc-structure","1.notes\u002Fleadership\u002Fproject-doc-structure",{"title":394,"path":395,"stem":396},"Scrum template","\u002Fnotes\u002Fleadership\u002Fscrum-template","1.notes\u002Fleadership\u002Fscrum-template",{"title":398,"path":399,"stem":400,"children":401,"page":30},"Products","\u002Fnotes\u002Fproducts","1.notes\u002Fproducts",[402],{"title":403,"path":404,"stem":405},"BigQuery","\u002Fnotes\u002Fproducts\u002Fgcp-big-query","1.notes\u002Fproducts\u002Fgcp-big-query",{"id":407,"title":408,"authors":409,"badge":409,"body":410,"date":703,"description":704,"extension":705,"image":409,"meta":706,"navigation":708,"path":709,"seo":710,"stem":711,"__hash__":712},"posts\u002F2.blog\u002F2011-10-24-hot-deploy-to-remote-tomcat.md","Wdrożenie aplikacji na Tomcata",null,{"type":411,"value":412,"toc":701},"minimark",[413,417,420,423,585,588,628,631,662,665,691,694,697],[414,415,416],"p",{},"W pewnym punkcie pracy z projektem J2EE, (projekt webowy) dochodzimy do punktu, w którym przychodzi potrzeba umieszczenia go na serwerze czy to kontenerze aplikacji. Po umieszczeniu na serwerze można przetestować jego działanie ale również uruchomić np testy integracyjne.",[414,418,419],{},"Ponieważ takich serwerów może istnieć wiele (lokalny, zdalny, klient, …) poszczególne warianty można umieścić np. oddzielnych profilach.",[414,421,422],{},"Zdefiniujmy profil, który będzie wykorzystywał plugin cargo, który bedzie łączył się ze zdalnym serwerem tomcat 7.x:",[424,425,430],"pre",{"className":426,"code":427,"language":428,"meta":429,"style":429},"language-xml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cprofile>\n    \u003Cid>tomcat-remote\u003C\u002Fid>\n    \u003Cbuild>\n        \u003Cplugins>\n            \u003Cplugin>\n                \u003CgroupId>org.codehaus.cargo\u003C\u002FgroupId>\n                \u003CartifactId>cargo-maven2-plugin\u003C\u002FartifactId>\n                \u003Cversion>1.1.3\u003C\u002Fversion>\n                \u003Cconfiguration>\n                    \u003Ccontainer>\n                    \u003CcontainerId>tomcat7x\u003C\u002FcontainerId>\n                    \u003Ctype>remote\u003C\u002Ftype>\n                    \u003C\u002Fcontainer>\n                    \u003Cconfiguration>\n                        \u003Ctype>runtime\u003C\u002Ftype>\n                            \u003Cproperties>\n                            \u003Ccargo.server.settings>my-tomcat-credentials\u003C\u002Fcargo.server.settings>\n                            \u003Ccargo.remote.uri>http:\u002F\u002F10.10.10.105:8080\u002Fmanager\u002Ftext\u003C\u002Fcargo.remote.uri>\n                        \u003C\u002Fproperties>\n                    \u003C\u002Fconfiguration>\n                \u003C\u002Fconfiguration>\n            \u003C\u002Fplugin>\n        \u003C\u002Fplugins>\n    \u003C\u002Fbuild>\n\u003C\u002Fprofile>\n","xml","",[431,432,433,441,447,453,459,465,471,477,483,489,495,501,507,513,519,525,531,537,543,549,555,561,567,573,579],"code",{"__ignoreMap":429},[434,435,438],"span",{"class":436,"line":437},"line",1,[434,439,440],{},"\u003Cprofile>\n",[434,442,444],{"class":436,"line":443},2,[434,445,446],{},"    \u003Cid>tomcat-remote\u003C\u002Fid>\n",[434,448,450],{"class":436,"line":449},3,[434,451,452],{},"    \u003Cbuild>\n",[434,454,456],{"class":436,"line":455},4,[434,457,458],{},"        \u003Cplugins>\n",[434,460,462],{"class":436,"line":461},5,[434,463,464],{},"            \u003Cplugin>\n",[434,466,468],{"class":436,"line":467},6,[434,469,470],{},"                \u003CgroupId>org.codehaus.cargo\u003C\u002FgroupId>\n",[434,472,474],{"class":436,"line":473},7,[434,475,476],{},"                \u003CartifactId>cargo-maven2-plugin\u003C\u002FartifactId>\n",[434,478,480],{"class":436,"line":479},8,[434,481,482],{},"                \u003Cversion>1.1.3\u003C\u002Fversion>\n",[434,484,486],{"class":436,"line":485},9,[434,487,488],{},"                \u003Cconfiguration>\n",[434,490,492],{"class":436,"line":491},10,[434,493,494],{},"                    \u003Ccontainer>\n",[434,496,498],{"class":436,"line":497},11,[434,499,500],{},"                    \u003CcontainerId>tomcat7x\u003C\u002FcontainerId>\n",[434,502,504],{"class":436,"line":503},12,[434,505,506],{},"                    \u003Ctype>remote\u003C\u002Ftype>\n",[434,508,510],{"class":436,"line":509},13,[434,511,512],{},"                    \u003C\u002Fcontainer>\n",[434,514,516],{"class":436,"line":515},14,[434,517,518],{},"                    \u003Cconfiguration>\n",[434,520,522],{"class":436,"line":521},15,[434,523,524],{},"                        \u003Ctype>runtime\u003C\u002Ftype>\n",[434,526,528],{"class":436,"line":527},16,[434,529,530],{},"                            \u003Cproperties>\n",[434,532,534],{"class":436,"line":533},17,[434,535,536],{},"                            \u003Ccargo.server.settings>my-tomcat-credentials\u003C\u002Fcargo.server.settings>\n",[434,538,540],{"class":436,"line":539},18,[434,541,542],{},"                            \u003Ccargo.remote.uri>http:\u002F\u002F10.10.10.105:8080\u002Fmanager\u002Ftext\u003C\u002Fcargo.remote.uri>\n",[434,544,546],{"class":436,"line":545},19,[434,547,548],{},"                        \u003C\u002Fproperties>\n",[434,550,552],{"class":436,"line":551},20,[434,553,554],{},"                    \u003C\u002Fconfiguration>\n",[434,556,558],{"class":436,"line":557},21,[434,559,560],{},"                \u003C\u002Fconfiguration>\n",[434,562,564],{"class":436,"line":563},22,[434,565,566],{},"            \u003C\u002Fplugin>\n",[434,568,570],{"class":436,"line":569},23,[434,571,572],{},"        \u003C\u002Fplugins>\n",[434,574,576],{"class":436,"line":575},24,[434,577,578],{},"    \u003C\u002Fbuild>\n",[434,580,582],{"class":436,"line":581},25,[434,583,584],{},"\u003C\u002Fprofile>\n",[414,586,587],{},"Ostatnią rzeczą jaką należy dodać to dane, które pozwolą pluginowi na uwierzytelnienie na serwerze. Dane te wprowadzimy w pliku settings.xml, aby umieszczać hasel w publicznym miejscu jakim jest repozytorium:",[424,589,591],{"className":426,"code":590,"language":428,"meta":429,"style":429},"\u003Cserver>\n    \u003Cid>my-tomcat-credentials\u003C\u002Fid>\n    \u003Cconfiguration>\n        \u003Ccargo.remote.username>mylogin\u003C\u002Fcargo.remote.username>\n        \u003Ccargo.remote.password>mypassword\u003C\u002Fcargo.remote.password>\n    \u003C\u002Fconfiguration>\n\u003C\u002Fserver>\n",[431,592,593,598,603,608,613,618,623],{"__ignoreMap":429},[434,594,595],{"class":436,"line":437},[434,596,597],{},"\u003Cserver>\n",[434,599,600],{"class":436,"line":443},[434,601,602],{},"    \u003Cid>my-tomcat-credentials\u003C\u002Fid>\n",[434,604,605],{"class":436,"line":449},[434,606,607],{},"    \u003Cconfiguration>\n",[434,609,610],{"class":436,"line":455},[434,611,612],{},"        \u003Ccargo.remote.username>mylogin\u003C\u002Fcargo.remote.username>\n",[434,614,615],{"class":436,"line":461},[434,616,617],{},"        \u003Ccargo.remote.password>mypassword\u003C\u002Fcargo.remote.password>\n",[434,619,620],{"class":436,"line":467},[434,621,622],{},"    \u003C\u002Fconfiguration>\n",[434,624,625],{"class":436,"line":473},[434,626,627],{},"\u003C\u002Fserver>\n",[414,629,630],{},"Tu należy wyjaśnić kilka kwesti:",[632,633,634,638,641,644],"ul",{},[635,636,637],"li",{},"Plugin cargo pozwala na zarządzanie serwerem \u002F kontenerem poprzez: uruchamianie, zatrzymywanie, undeploy, deploy i parę innych",[635,639,640],{},"Zarządzać można serwerem zainstalowanym lokalnie, zdalnym oraz można podać link do archiwum zip na stronie internetowej z dyrektywą aby plugin sam zainstalował serwer w podanej lokalizacji. Oczywiście projekt można deployować na serwerach zatrzymanych jak i uruchomionych.",[635,642,643],{},"Url do tomcata w wersji 7.x należy podać do managera tekstowego.",[635,645,646,647,650,651,654,655,658,659,661],{},"Aby móc zarządzać kontenerem należy użytkownikowi, za pomocą którego łączymy się z serwerem dodać uprawnienie ",[431,648,649],{},"manager-script",". Aby to zrobić należy wyedytować plik ",[431,652,653],{},"tomcat-users.xml"," znajdujący się w folderze ",[431,656,657],{},"%TOMCAT_DIR%\u002Fconf\u002Ftomcat-users.xml"," a następnie dodać po przecinku w roles wskazanego użytkownika ",[431,660,649],{},".",[414,663,664],{},"Deploy pliku war następuje po wydaniu polecenia:",[424,666,670],{"className":667,"code":668,"language":669,"meta":429,"style":429},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mvn -Ptomcat-remote clean verify org.codehaus.cargo:cargo-maven2-plugin:deploy\n","bash",[431,671,672],{"__ignoreMap":429},[434,673,674,678,682,685,688],{"class":436,"line":437},[434,675,677],{"class":676},"sBMFI","mvn",[434,679,681],{"class":680},"sfazB"," -Ptomcat-remote",[434,683,684],{"class":680}," clean",[434,686,687],{"class":680}," verify",[434,689,690],{"class":680}," org.codehaus.cargo:cargo-maven2-plugin:deploy\n",[414,692,693],{},"Po parametrze -P podajemy nazwę profilu, który jest aktywowany podczas uruchomienia. Jeżeli nie zostanie wskazany domyślne parametry zostaną wykorzystane a wtedy na 90% zostanie rzucony wyjątek.\nOczywiście zaprezentowany przykład zadziała jedynie gdy serwer jest uruchomiony i nie istnieje wcześniej zdeployowany aktualny projekt.",[414,695,696],{},"Serwer należy uruchomić, przejść do managera aplikacji a następnie wykonać undeploy.",[698,699,700],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":429,"searchDepth":443,"depth":443,"links":702},[],"2011-10-24","Zautomatyzowane wdrożenia aplikacji na serwer Tomcat z uzyciem Mavena i pluginu Cargo","md",{"layout":707},"post",true,"\u002Fblog\u002F2011-10-24-hot-deploy-to-remote-tomcat",{"title":408,"description":704},"2.blog\u002F2011-10-24-hot-deploy-to-remote-tomcat","hFAjEu5mP4AHbwcjosiUzhNUXPqTU8h-V7T1fgJ_Uv0",[714,719],{"title":715,"path":716,"stem":717,"description":718,"children":-1},"Wydawanie aplikacji w formie zarchiwizowanej","\u002Fblog\u002F2011-10-23-releasing-archived-maven-archetypes","2.blog\u002F2011-10-23-releasing-archived-maven-archetypes","Zautomatyzowane wydanie projektu w formie archiwum zip przy pomocy Mavena",{"title":720,"path":721,"stem":722,"description":723,"children":-1},"Jetty - poręczny serwerek","\u002Fblog\u002F2011-12-15-introduction-to-jetty","2.blog\u002F2011-12-15-introduction-to-jetty","Jetty jako narzędzie ułatwiające życie programistom Java",1788257054443]