{"id":1752,"date":"2019-03-11T21:25:03","date_gmt":"2019-03-11T12:25:03","guid":{"rendered":"http:\/\/43.203.250.216\/?p=1752"},"modified":"2025-10-01T16:25:43","modified_gmt":"2025-10-01T07:25:43","slug":"clearlinux%ec%97%90-tomcat-%ec%84%a4%ec%b9%98%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=1752","title":{"rendered":"ClearLinux\uc5d0 Tomcat \uc124\uce58\ud558\uae30"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>2019\ub144 3\uc6d4 \ud604\uc7ac, <a href=\"https:\/\/clearlinux.org\">Clear Linux<\/a>\uc5d0\uc11c\ub294 <a href=\"https:\/\/github.com\/clearlinux\/clr-bundles\/search?utf8=\u2713&amp;q=tomcat&amp;type=\">Tomcat\uc774 bundle\ub85c \uc81c\uacf5\ub418\uc9c0 \uc54a\uae30 <\/a>\u00a0\ub54c\ubb38\uc5d0 \uc218\ub3d9\uc73c\ub85c \uc124\uce58\ud574\uc57c \ud55c\ub2e4. \uc774 \ud3ec\uc2a4\ud2b8\ub294 Clear Linux\uc5d0 \uc218\ub3d9\uc73c\ub85c Tomcat\uc744 \uc124\uce58\ud558\uae30 \uc704\ud55c \uacfc\uc815\uc5d0 \uad00\ud55c \uac83\uc774\ub2e4.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Java Runtime \uc124\uce58<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tomcat\uc744 \uc2e4\ud589\ud558\uae30 \uc704\ud574\uc11c\ub294 Java runtime\uc774 \uc2dc\uc2a4\ud15c\uc5d0 \uc124\uce58 \ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. \ub9cc\uc57d \uc5c6\ub2e4\uba74 \ub2e4\uc74c \uba85\ub839\uc5b4\ub85c \uc124\uce58\ud574 \uc900\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ sudo swupd bundle-add java-runtime\n\nStarting download of remaining update content. \nThis may take a while...         ...100% \nFinishing download of update content... \nInstalling bundle(s) files...         ...100% \nCalling post-update helper scripts. \nSuccessfully installed 1 bundle<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Java runtime\uc744 \uc124\uce58\ud55c \ud6c4\uc5d0\ub294 \ubc84\uc804\uba85\uc5d0 \uad00\uacc4\uc5c6\uc774 \uc811\uadfc\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\ub2e4 \uc798 \uc54c\ub824\uc9c4 \uacbd\ub85c\uc778 \/usr\/lib\/jvm\/java\ub85c \ub9c1\ud06c\ub97c \uc0dd\uc131\ud574 \uc8fc\uace0 JAVA_HOME \ud658\uacbd \ubcc0\uc218\ub97c \uc124\uc815\ud574 \uc900\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ sudo ln -s \/usr\/lib\/jvm\/java-&lt;VERSION>-openjdk \/usr\/lib\/jvm\/java\n\n$ edit \/etc\/profile # or ~\/.bashrc\n# JAVA_HOME\nexport JAVA_HOME=\/usr\/lib\/jvm\/java<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tomcat \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc124\uce58<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc124\uce58\ub41c Java runtime\uc5d0 \ub9de\uac8c\u00a0<a href=\"https:\/\/tomcat.apache.org\/download-90.cgi\">Tomcat download page<\/a>\uc5d0\uc11c \uc801\uc808\ud55c binary distribution\uc744 download\ubc1b\uace0 \uc124\uce58\ud574\uc900\ub2e4. Tomcat website\uc5d0 \uc788\ub294\u00a0<a href=\"https:\/\/tomcat.apache.org\/whichversion.html\">Which version?<\/a>\u00a0\ud56d\ubaa9\uc744 \ubcf4\uba74 \uc544\ub798\uc640 \uac19\uc774 \ud45c\uac00 \ub098\uc624\ub294\ub370, \u00a0\u201cSupported Java Version\u201d\uc744 \ucc38\uace0\ud574\uc11c \uc801\ud569\ud55c \u201cApache Tomcat Version\u201d\uc744 \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4. \uc608\ub97c \ub4e4\uc5b4,\u00a0<a href=\"https:\/\/oracle.github.io\/opengrok\/\">OpenGrok<\/a>\uc758 \uacbd\uc6b0 Java 1.8\uc774 requirement\uc774\ubbc0\ub85c, Tomcat version 9.0.x\uc774\uc0c1\uc744 \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions-1024x536.png\" alt=\"\" class=\"wp-image-1770\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions-1024x536.png 1024w, https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions-300x157.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions-768x402.png 768w, https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions-1568x820.png 1568w, https:\/\/litcoder.com\/wp-content\/uploads\/2019\/01\/sc_tomcat_versions.png 1736w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uacfc \uac19\uc774 Tomcat\uc744 download \ubc1b\uace0 \/opt\/tomcat\uc5d0 \ud480\uc5b4 \uc900\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ wget https:\/\/www-us.apache.org\/dist\/tomcat\/tomcat-9\/v9.0.12\/bin\/apache-tomcat-9.0.12.tar.gz\n$ sudo mkdir \/opt\/tomcat\n$ sudo tar xvzf .\/apache-tomcat-9.0.12.tar.gz -C \/opt\/tomcat --strip-components=1 <\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0ac\uc6a9\uc790 \uc124\uc815<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\/opt\/tomcat\/conf\/tomcat-users.xml \ud30c\uc77c\uc744 \ud3b8\uc9d1\ud574\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 Tomcat user\ub97c \ucd94\uac00\ud574 \uc900\ub2e4. \uc544\ub798\uc758 \uc124\uc815\uc740 \uac00\uc7a5 \ub2e8\uc21c\ud558\uac8c access control\ud558\uae30 \uc704\ud55c \uc124\uc815\uc73c\ub85c \u2018tomcat\u2019\uc774\ub77c\ub294 id\ub97c \ucd94\uac00\ud558\uae30 \uc704\ud55c \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?>\n&lt;tomcat-users xmlns=\"http:\/\/tomcat.apache.org\/xml\"\n  xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n  xsi:schemaLocation=\"http:\/\/tomcat.apache.org\/xml tomcat-users.xsd\"\n  version=\"1.0\">\n  &lt;role rolename=\"manager-gui\"\/>\n  &lt;role rolename=\"admin-gui\"\/>\n  &lt;user username=\"tomcat\" password=\"\ube44\ubc00\ubc88\ud638(password)\" roles=\"manager-gui,admin-gui\"\/>\n&lt;\/tomcat-users><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uacb0\uacfc\ud655\uc778<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ubaa8\ub4e0 \uc124\uc815\uc774 \ub05d\ub0ac\ub2e4\uba74 Tomcat\uc744 \uc124\uce58\ud55c \uba38\uc2e0\uc5d0\uc11c \u00a0http:\/\/<strong>localhost<\/strong>:8080\/manager\/html \uc8fc\uc18c\uc5d0 \uc811\uadfc\ud574\uc11c Tomcat \uc11c\ubc84 \uc124\uc815\uc744 \uad00\ub9ac \ud560 \uc218 \uc788\ub2e4. ID\uc640 password\ub97c \ubb3b\ub294 prompt\uac00 \ub728\uba74 \uc704\uc758 tomcat-users.xml\uc5d0\uc11c \uc124\uc815\ud55c\uac83 \ucc98\ub7fc ID\/\ube44\ubc00\ubc88\ud638(tomcat\/\ube44\ubc00\ubc88\ud638(password)\ub97c \uc785\ub825\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"723\" height=\"733\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2019\/03\/SC_tomcat_manage_html.png\" alt=\"\" class=\"wp-image-1832\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2019\/03\/SC_tomcat_manage_html.png 723w, https:\/\/litcoder.com\/wp-content\/uploads\/2019\/03\/SC_tomcat_manage_html-296x300.png 296w\" sizes=\"auto, (max-width: 723px) 100vw, 723px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Remote Access \ud5c8\uac00<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tomcat \uad00\ub9ac\uc790 page\ub97c \uc811\uadfc\ud560 \ub54c localhost\uac00 \uc544\ub2cc remote\uc5d0\uc11c \uc811\uc18d\uc744 \uc2dc\ub3c4\ud558\uba74 403 access denied \uc624\ub958\uac00 \ub730 \uc218 \uc788\ub2e4. Localhost\uc678\uc5d0\uc11c\ub3c4 tomcat \uad00\ub9ac\uc790 page \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\ub824\uba74 \uc544\ub798 \uacbd\ub85c\uc5d0 \uc788\ub294 context.xml file\uc758\u00a0<strong>allow=<\/strong>\u00a0\ubd80\ubd84\uc744 \uc218\uc815\ud574\uc11c \ubaa8\ub4e0 IP\ub97c \ubc1b\uc544\ub4e4\uc774\ub3c4\ub85d \ubcc0\uacbd\ud574 \uc8fc\uba74\ub41c\ub2e4. context.xml\uc740 \uc5ec\ub7ec\uac1c \uc788\uc73c\ub2c8 \uacbd\ub85c\uc5d0 \uc8fc\uc758.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/opt\/tomcat\/webapps\/manager\/META-INF\/context.xml<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;Context antiResourceLocking=\"false\" privileged=\"true\" >\n  &lt;Valve className=\"org.apache.catalina.valves.RemoteAddrValve\"\n  allow=\"\\d+.\\d+.\\d+.\\d+\" \/>\n\n&lt;Manager\nsessionAttributeValueClassNameFilter=\"java\\.lang\\.(?:Boolean|Integer|Long|Number|String)|org\\.apache\\.catalina\\.filter\ns\\.CsrfPreventionFilter\\$\\\nLruCache(?:\\$1)?|java\\.util\\.(?:Linked)?HashMap\"\/>\n&lt;\/Context><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>2019\ub144 3\uc6d4 \ud604\uc7ac, Clear Linux\uc5d0\uc11c\ub294 Tomcat\uc774 bundle\ub85c \uc81c\uacf5\ub418\uc9c0 \uc54a\uae30 \u00a0\ub54c\ubb38\uc5d0 \uc218\ub3d9\uc73c\ub85c \uc124\uce58\ud574\uc57c \ud55c\ub2e4. \uc774 \ud3ec\uc2a4\ud2b8\ub294 Clear Linux\uc5d0 \uc218\ub3d9\uc73c\ub85c Tomcat\uc744 \uc124\uce58\ud558\uae30 \uc704\ud55c \uacfc\uc815\uc5d0 \uad00\ud55c \uac83\uc774\ub2e4. Java Runtime \uc124\uce58 Tomcat\uc744 \uc2e4\ud589\ud558\uae30 \uc704\ud574\uc11c\ub294 Java runtime\uc774 \uc2dc\uc2a4\ud15c\uc5d0 \uc124\uce58 \ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. \ub9cc\uc57d \uc5c6\ub2e4\uba74 \ub2e4\uc74c \uba85\ub839\uc5b4\ub85c \uc124\uce58\ud574 \uc900\ub2e4. Java runtime\uc744 \uc124\uce58\ud55c \ud6c4\uc5d0\ub294 \ubc84\uc804\uba85\uc5d0 \uad00\uacc4\uc5c6\uc774 \uc811\uadfc\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\ub2e4 \uc798 \uc54c\ub824\uc9c4 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[4,6],"tags":[27,66,127,129],"class_list":["post-1752","post","type-post","status-publish","format-standard","hentry","category-linux","category-tools","tag-clearlinux","tag-java","tag-tomcat","tag-tomcat9"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":621,"url":"https:\/\/litcoder.com\/?p=621","url_meta":{"origin":1752,"position":0},"title":"OpenGrok \uc124\uce58 \ube68\ub9ac \ud558\uae30","author":"litcoder","date":"2013\ub144 3\uc6d4 13\uc77c","format":false,"excerpt":"\uc9c0\ub09c\ubc88 OpenGrok \uc124\uce58 \uad00\ub828 \ud3ec\uc2a4\ud305 \uc774\ud6c4 OpenGrok\uc744 \uc124\uce58\ud560 \uae30\ud68c\uac00 \uba87 \ubc88 \ub354 \uc788\uc5c8\ub294\ub370, Source \uacbd\ub85c\ub97c \uc81c\uc678\ud55c \ub098\uba38\uc9c0 \uc124\uc815\ub4e4\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \uc0ac\uc6a9\ud558\ub2c8 \ud6e8\uc52c \uc124\uce58 \ud558\uae30\uac00 \uac04\ud3b8\ud588\ub2e4. \uc5ec\uae30\uc5d0\ub294 source\ub97c \uc81c\uc678\ud55c \ub098\uba38\uc9c0 \uc124\uc815\uc744 \uae30\ubcf8\uc73c\ub85c \uc0ac\uc6a9\ud574\uc11c \uc57d\uac04\uc758 \uc218\uc815\uc73c\ub85c \uc124\uce58 \ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud55c\ub2e4. 2017\ub144 12\uc6d4 13\uc77c : Ubuntu16.04 LTS\ub97c \uae30\uc900\uc73c\ub85c \uc218\uc815\ud568. \uc124\uce58\ud658\uacbd Ubuntu 16.04 LTS \ud544\uc694\ud55c\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":563,"url":"https:\/\/litcoder.com\/?p=563","url_meta":{"origin":1752,"position":1},"title":"OpenGrok \uc124\uce58","author":"litcoder","date":"2013\ub144 3\uc6d4 9\uc77c","format":false,"excerpt":"OpenGrok\uc744 \uc124\uce58\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc740 tomcat5~6 \uc0ac\uc774\uc758 \ubc84\uc804\uc744 \uc0ac\uc6a9\ud558\uace0, \uc124\uce58\ud558\ub294 \uc704\uce58\ub97c \/var\/opengrok \uc73c\ub85c \uc815\ud558\ub294 \uac83\uc774\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \ubcc4\ub3c4\uc758 \uc218\uc815\uc5c6\uc774 \uac70\uc758 \uadf8\ub300\ub85c OpenGrok\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. (OpenGrok \uc124\uce58 \ube68\ub9ac \ud558\uae30 \ucc38\uc870) \uc774 posting\uc5d0\uc11c\ub294 Source\ub97c <YOUR_SOURCE_REPOSITORY_TOP> \uacbd\ub85c \uc544\ub798\uc5d0 \uac01 project\ubcc4\ub85c \ub530\ub85c \ubcf4\uad00\ud558\uace0, <YOUR_HOME_DIRECTORY>\/opengrok \uacbd\ub85c \uc544\ub798\uc5d0 OpenGrok\uacfc \uad00\ub828\ub41c file\ub4e4\uc744 \ubcf4\uad00\ud558\ub294 \uc0c1\ud669\uc744 \uac00\uc815\ud558\uace0 \uc124\uba85\ud55c\ub2e4.\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"OpenGrok ScreenShot","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2013\/03\/Screenshot-from-2013-03-09-232044_opengrok-300x241.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":718,"url":"https:\/\/litcoder.com\/?p=718","url_meta":{"origin":1752,"position":2},"title":"PlantUML war file \uc124\uce58","author":"litcoder","date":"2013\ub144 9\uc6d4 16\uc77c","format":false,"excerpt":"\uadf8\ub3d9\uc548 UML\uc744 \uadf8\ub824\uc57c\ud560 \ud544\uc694\uac00 \uc788\uc744\ub54c StarUML\uc744 \uc368\uc654\ub294\ub370, Windows\ub9cc \uc9c0\uc6d0\ud558\ub294 software\ub77c\ub294 \ud55c\uacc4\ub3c4 \uc788\uace0 \ud574\uc11c \uc5bc\ub9c8 \uc804 \ubd80\ud130\ub294 \uc6b0\uc5f0\ud788 \uc54c\uac8c\ub41c PlantUML\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\ub2e4. \uc774 software\ub294 \ub9c8\uce58 LaTex \ucc98\ub7fc text\ub85c UML\uc744 \uadf8\ub9ac\uae30 \uc704\ud55c description\uc744 \uc791\uc131\ud558\uba74 \uc774\ub97c \uae30\ubc18\ud574\uc11c UML\uc744 \uadf8\ub824\uc900\ub2e4. \ubb38\ubc95\ub3c4 \uadf8\ub2e4\uc9c0 \uc5b4\ub835\uc9c0 \uc54a\uace0 \uc9c1\uad00\uc801\uc774\uc5b4\uc11c \uc0ac\uc6a9\ud558\uae30\ub3c4 \uc26c\uc6b4 \ud3b8\uc774\ub2e4. \uc791\uc131\ud55c text\ub97c UML\ub85c \uadf8\ub9ac\uae30 \uc704\ud55c client\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2013\/08\/SC_plantuml_server_page.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2013\/08\/SC_plantuml_server_page.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2013\/08\/SC_plantuml_server_page.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2013\/08\/SC_plantuml_server_page.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3753,"url":"https:\/\/litcoder.com\/?p=3753","url_meta":{"origin":1752,"position":3},"title":"Mac OS X\uc5d0 PlantUML \ud658\uacbd\uc124\uc815","author":"litcoder","date":"2025\ub144 10\uc6d4 27\uc77c","format":false,"excerpt":"\uc608\uc804\uc5d0 \ud3ec\uc2a4\ud305 \ud588\ub358 \ub0b4\uc6a9 \ucc98\ub7fc PlantUML\uc740 on-premise \uc11c\ubc84\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\uc9c0\ub9cc, Visual Studio Code\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 PlantUML extension\uc744 \uc0ac\uc6a9\ud558\uba74 Tomcat\uac19\uc740 JSP\uc11c\ubc84\ub97c \ubcc4\ub3c4\ub85c \uc124\uce58\ud560 \ud544\uc694\uac00 \uc5c6\uc5b4\uc11c IDE\ub97c \ubc97\uc5b4\ub098\uc9c0 \uc54a\uace0\ub3c4 \uac1c\ubc1c\uc744 \uc9c4\ud589 \ud558\uba74\uc11c \uad00\ub828\ub0b4\uc6a9\uc744 \uc2a4\ucf00\uce58\ud558\uae30\uc5d0 \ubb34\ucc99 \ud3b8\ud558\ub2e4. Linux\uc5d0\uc11c\ub3c4 \ub9c8\ucc2c\uac00\uc9c0 \uc774\uc9c0\ub9cc Max OS X\uc5d0\uc11c Visual Studio Code PlantUML extension\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 Java\uc640 Graphviz\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.litcoder.com\/wp-content\/uploads\/2025\/10\/plantuml_test.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2549,"url":"https:\/\/litcoder.com\/?p=2549","url_meta":{"origin":1752,"position":4},"title":"OpenGrok \ucd5c\uc2e0\ubc84\uc804 \uc124\uce58\ud558\uae30","author":"litcoder","date":"2020\ub144 8\uc6d4 5\uc77c","format":false,"excerpt":"\ud55c \ub54c \uac11\uc790\uae30 \ubc30\ud3ec\ud558\ub358 \uc11c\ubc84\uac00 \uc5c6\uc5b4\uc838\uc11c \ud639\uc2dc\ub098 \ud558\ub294 \uac71\uc815\uc5d0 \ubc30\ud3ec\ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc544 \ub450\uae30\uae4c\uc9c0 \ud588\ub358 OpenGrok project\uac00 \ub2e4\ud589\ud788 Oracle\uc758 GitHub \ub0b4\uc5d0 \uc790\ub9ac\ub97c \uc7a1\uace0 \uc798 \uafb8\uc900\ud788 \uc5c5\ub370\uc774\ud2b8 \ub418\uace0 \uc788\ub2e4.\uc608\uc804\uc5d0 \uc791\uc131\ud588\ub358 OpenGrok \uc124\uce58\ub97c \uc704\ud55c \uae00\ub4e4\uc740 \ub108\ubb34 \uc624\ub798\ub418\uc5b4\uc11c \uc798 \ub9de\uc9c0 \uc54a\ub294 \uac83\ub3c4 \uc788\uace0 \ud574\uc11c \ucd5c\uadfc \ubc84\uc804\uacfc \ud658\uacbd\uc744 \uae30\uc900\uc73c\ub85c \ub2e4\uc2dc \uc124\uce58 \uacfc\uc815\uc744 \uc815\ub9ac\ud588\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc740\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2020\/08\/img_0003-1.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2020\/08\/img_0003-1.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2020\/08\/img_0003-1.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":40,"url":"https:\/\/litcoder.com\/?p=40","url_meta":{"origin":1752,"position":5},"title":"CTS \uc124\uc815\ud558\uae30","author":"litcoder","date":"2012\ub144 6\uc6d4 4\uc77c","format":false,"excerpt":"\ub2e4\uc74c\uc740 Android CTS \uc2dc\ud5d8\uc744 \uc704\ud55c \ud658\uacbd \uc124\uc815 \uc808\ucc28\uc774\ub2e4. Android gingerbread \ubd80\ud130\ub294 build\ub97c \uc704\ud574\uc11c\ub294 64bits \ud658\uacbd\uc744 \u00a0\uc694\uad6c \ud558\uc9c0\ub9cc CTS\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud558\ub824\uba74 32bits\ub9cc \uc9c0\uc6d0\ud558\ub294 machine\uc5d0\uc11c\ub3c4 \uac00\ub2a5\ud558\ub2e4. \u00a0 1. \ud544\uc694\ud55c package\ub4e4\uc744 \uc124\uce58 \u00a0(Java6\/zip\/unzip) : 32 bits ubuntu 10.04\ub97c \uae54\uace0 jav6\/zip\/unzip\uc744 \uc124\uce58\ud574 \uc900\ub2e4. \u00a0\ucd5c\uadfc\uc5d0 java6\uac00 \ubcf4\uc548 \ubb38\uc81c\ub85c repository\uc5d0\uc11c \ube60\uc84c\ub294\ub370, \ub2e4\uc74c\uc758 \ubc29\ubc95\uc73c\ub85c \uc124\uce58\ud560 \uc218 \uc788\ub2e4. *\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1752"}],"version-history":[{"count":7,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions"}],"predecessor-version":[{"id":3656,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions\/3656"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}