{"id":168,"date":"2014-07-08T22:49:48","date_gmt":"2014-07-09T07:49:48","guid":{"rendered":"http:\/\/blog.box.kr\/?p=168"},"modified":"2014-07-08T22:49:48","modified_gmt":"2014-07-09T07:49:48","slug":"%ea%b0%9c%eb%b0%9c%ed%8c%81-spring-quartz%ec%97%90%ec%84%9c-%ec%9e%91%ec%97%85%ec%9d%98-%eb%8f%99%ec%8b%9c%ec%8b%a4%ed%96%89%ec%9d%84-%eb%a7%89%eb%8a%94-%eb%b0%a9%eb%b2%95","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=168","title":{"rendered":"[\uac1c\ubc1c\ud301] Spring + Quartz\uc5d0\uc11c \uc791\uc5c5\uc758 \ub3d9\uc2dc\uc2e4\ud589\uc744 \ub9c9\ub294 \ubc29\ubc95"},"content":{"rendered":"<p><span style=\"color: #000000;\">\uc608\uc57d\uc791\uc5c5\uc774 \ud754\ud788 DB\ub098 \ud30c\uc77c\uc744 \ub2e4\ub8e8\ub2e4\ubcf4\ub2c8\u00a0<\/span><span style=\"color: #000000;\">\uc791\uc5c5\uc774 \ud55c\ubc88\uc5d0 \ud558\ub098\uc529\ub9cc \uc2e4\ud589\ub418\uc5b4\uc57c\ud560\ub54c\uac00 \ub9ce\uc2b5\ub2c8\ub2e4.. \uc608\ub97c \ub4e4\uc5b4 \ub514\ub809\ud1a0\ub9ac\ub97c \ud3f4\ub9c1\ud558\ub294 \uacbd\uc6b0 \uc120\ud589 \uc791\uc5c5\uc774 \ub05d\ub098\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc5d0\uc11c \ub2e4\uc74c \uc791\uc5c5\uc774 \uc2e4\ud589\ub41c\ub2e4\uba74 \ud558\ub098\uc758 \ud30c\uc77c\uc744 \ub3d9\uc2dc\uc5d0 \ub450\uac1c\uc758 \uc791\uc5c5\uc774 \ucc98\ub9ac\ud560 \uc9c0\ub3c4 \ubaa8\ub974\ub2c8\uae4c\uc694..<\/p>\n<p><\/span><a title=\"[http:\/\/static.springsource.org\/spring\/docs\/2.5.x\/reference\/scheduling.html]\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.\" href=\"http:\/\/static.springsource.org\/spring\/docs\/2.5.x\/reference\/scheduling.html\" target=\"_blank\"><span style=\"color: #7dbb1c;\">\uc2a4\ud504\ub9c1 \uc2a4\ucf00\uc974\ub9c1 \ubb38\uc11c<\/span><\/a><span style=\"color: #000000;\">\ub97c \ubcf4\uba74 &#8220;MethodInvokingJobDetailFactoryBean&#8221;\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 &#8220;concurrent&#8221; \uac12\uc744 \uc124\uc815\ud558\ub294 \uac83\ub9cc\uc73c\ub85c \uc774 \ubb38\uc81c\uac00 \uac04\ub2e8\ud788 \ud574\uacb0\ub429\ub2c8\ub2e4..<\/p>\n<p><\/span><\/p>\n<div class=\"txc-textbox\">&lt;bean id=&#8221;jobDetail&#8221; class=&#8221;org.springframework.scheduling.quartz.<strong>MethodInvokingJobDetailFactoryBean<\/strong>&#8220;&gt;<br \/>\n&lt;property name=&#8221;targetObject&#8221; ref=&#8221;exampleBusinessObject&#8221; \/&gt;<br \/>\n&lt;property name=&#8221;targetMethod&#8221; value=&#8221;doIt&#8221; \/&gt;<br \/>\n&lt;property name=&#8221;<strong>concurrent<\/strong>&#8221; value=&#8221;<strong>false<\/strong>&#8221; \/&gt;<br \/>\n&lt;\/bean&gt;\n<\/div>\n<p><span style=\"color: #000000;\"><br \/>\n\uadf8\ub7f0\ub370 \uc544\ub798\uc640\uac19\uc774 &#8220;JobDetailBean&#8221;\uc744 \uc774\uc6a9\ud558\ub294 \uacbd\uc6b0\ub77c\uba74 \uc5b4\ub5bb\uac8c\ud558\uba74\ub420\uae4c\uc694??<\/p>\n<p><\/span><\/p>\n<div class=\"txc-textbox\">&lt;bean name=&#8221;exampleJob&#8221; class=&#8221;org.springframework.scheduling.quartz.<strong>JobDetailBean<\/strong>&#8220;&gt;<br \/>\n&lt;property name=&#8221;jobClass&#8221; value=&#8221;example.ExampleJob&#8221; \/&gt;<br \/>\n&lt;\/bean&gt;\n<\/div>\n<p><span style=\"color: #000000;\"><br \/>\n\ubc29\ubc95\uc740 \uac04\ub2e8\ud569\ub2c8\ub2e4.. \uc704 &#8220;ExampleJob&#8221; \ud074\ub798\uc2a4\ub97c\u00a0\ub9cc\ub4e4\ub54c &#8220;implements org.quartz.StatefulJob&#8221;\uc744 \ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4.. \uadf8\ub7f0\ub370 \uc694\uac74\uc774 \ubc14\ub00c\uc5b4 \ub3d9\uc2dc \uc2e4\ud589\uc744 \ud5c8\uc6a9\ud558\ub824\uba74 \ud074\ub798\uc2a4\ub97c \uc218\uc815\ud574\uc57c\uaca0\ub124\uc694.. \u3161..\u3161<\/p>\n<p>&#8220;JobDetailBean&#8221;\uc744 \uc774\uc6a9\ud558\uba74\uc11c\ub3c4 \uc704 &#8220;concurrent&#8221;\ucc98\ub7fc \uc124\uc815\uc73c\ub85c \ud574\uacb0\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \ucc3e\uc544\ubd24\uc2b5\ub2c8\ub2e4.. \uadf8\ub7f0\ub370 \ubabb\ucc3e\uaca0\ub354\ub77c\uad6c\uc694.. \ud574\uc11c.. \uac4d..\u00a0\uc790\uccb4 \uad6c\ud604\uc744 \ud558\uae30\ub85c \uacb0\uc2ec\ud588\uc2b5\ub2c8\ub2e4.. \u314e\u314e.. \ub098\uc911\uc5d0\ub77c\ub3c4 \ub204\uad70\uac00 \ubc29\ubc95\uc744 \ucc3e\uac8c\ub418\uba74 \uc800\uc5d0\uac8c\ub3c4 \uc880 \uc54c\ub824\uc8fc\uc2dc\uae38.. ^^;;<\/p>\n<p>\ucc3e\uc544\ubcf4\ub2c8.. &#8220;implements org.quartz.StatefulJob&#8221;\uc744 \ud558\ub294 \uac83\uc740 &#8220;JobDetailBean&#8221;\uc758 &#8220;isStateful()&#8221;\uc774\ub77c\ub294 \uba54\uc18c\ub4dc\uc5d0 \uc601\ud5a5\uc744 \uc90d\ub2c8\ub2e4..\u00a0&#8220;JobDetailBean&#8221;\uc744 \uc0c1\uc18d\ud55c \uc0c8\ub85c\uc6b4 &#8220;MyJobDetailBean&#8221;\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4..<\/p>\n<p><\/span><\/p>\n<div class=\"txc-textbox\">public class MyJobDetailBean extends JobDetailBean {\n<p>boolean concurrent = false;<\/p>\n<p>public void setConcurrent(boolean concurrent) {<br \/>\nthis.concurrent = concurrent;<br \/>\n}<\/p>\n<p>public boolean isStateful() {<br \/>\nreturn !concurrent;<br \/>\n}<br \/>\n}\n<\/div>\n<p><span style=\"color: #000000;\">\u00a0<\/span><\/p>\n<div class=\"txc-textbox\">&lt;bean name=&#8221;exampleJob&#8221; class=&#8221;myproject.<strong>MyJobDetailBean<\/strong>&#8220;&gt;<br \/>\n&lt;property name=&#8221;jobClass&#8221; value=&#8221;example.ExampleJob&#8221; \/&gt;<br \/>\n&lt;property name=&#8221;<strong>concurrent<\/strong>&#8221; value=&#8221;<strong>false<\/strong>&#8221; \/&gt;<br \/>\n&lt;\/bean&gt;\n<\/div>\n<p><span style=\"color: #000000;\"><br \/>\n\ud504\ub85c\ud37c\ud2f0\uba85\uc744 &#8220;stateful&#8221;\uc774\ub77c\uace0 \ud558\uc9c0\uc54a\uace0 &#8220;concurrent&#8221;\ub77c\uace0 \ud55c \uac83\uc740 \uc704 \uc124\uc815\uc774 \uc0c1\ud0dc\uc720\uc9c0\ub97c \uc758\ubbf8\ud558\uc9c0\ub294\uc54a\uae30\ub54c\ubb38\uc785\ub2c8\ub2e4..<\/p>\n<p>\uc5b4\uca0c\uac74.. \uc798 \ub3cc\uc544\uac00\ub294 \uac83 \uac19\uc2b5\ub2c8\ub2e4.. \u314e\u314e..<\/p>\n<p>\u203b \ud55c\uac00\uc9c0 \ucc38\uace0\ud560\uac8c \uc788\uc2b5\ub2c8\ub2e4..<\/p>\n<p>\ub9e4\ubd84 0\ucd08\uc5d0 \uc791\uc5c5\uc744 \uc2e4\ud589\ud558\ub3c4\ub85d \uc124\uc815\ud588\uc744\ub54c<br \/>\n0\ubd84 0\ucd08\uc5d0 \uc2dc\uc791\ud55c \uc791\uc5c5\uc774 1\ubd84 10\ucd08\uc5d0 \ub05d\ub098\ub2e4\uace0 \uac00\uc815\ud574\ubcf4\uba74..<br \/>\n\ub2e4\uc74c\ubc88 \uc791\uc5c5\uc740 \uc5b8\uc81c \uc2e4\ud589\ub420\uae4c\uc694??<\/p>\n<p>1) 1\ubd84 0\ucd08\uc5d0 \uc2e4\ud589\ud558\uae30\ub85c \ub418\uc5b4\uc788\ub358 \uc791\uc5c5\uc740 \ubb34\uc2dc\ub418\uace0 2\ubd84 0\ucd08\uc5d0 \uc2dc\uc791\ub41c\ub2e4..<br \/>\n2) \uc120\ud589\uc791\uc5c5\uc774 \ub05d\ub098\uc790\ub9c8\uc790 \ub300\uae30\uc911\uc778 \uc791\uc5c5\uc774 \ubc14\ub85c \uc2dc\uc791\ub41c\ub2e4.. \uc989.. 1\ubd84 10\ucd08\uc5d0 \uc2dc\uc791\ub41c\ub2e4..<\/p>\n<p>\ud14c\uc2a4\ud2b8\ub97c \ud574\ubcf4\ub2c8.. 2)\ubc88\uc774\ub124\uc694..<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc608\uc57d\uc791\uc5c5\uc774 \ud754\ud788 DB\ub098 \ud30c\uc77c\uc744 \ub2e4\ub8e8\ub2e4\ubcf4\ub2c8\u00a0\uc791\uc5c5\uc774 \ud55c\ubc88\uc5d0 \ud558\ub098\uc529\ub9cc \uc2e4\ud589\ub418\uc5b4\uc57c\ud560\ub54c\uac00 \ub9ce\uc2b5\ub2c8\ub2e4.. \uc608\ub97c \ub4e4\uc5b4 \ub514\ub809\ud1a0\ub9ac\ub97c \ud3f4\ub9c1\ud558\ub294 \uacbd\uc6b0 \uc120\ud589 \uc791\uc5c5\uc774 \ub05d\ub098\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc5d0\uc11c \ub2e4\uc74c \uc791\uc5c5\uc774 \uc2e4\ud589\ub41c\ub2e4\uba74 \ud558\ub098\uc758 \ud30c\uc77c\uc744 \ub3d9\uc2dc\uc5d0 \ub450\uac1c\uc758 \uc791\uc5c5\uc774 \ucc98\ub9ac\ud560 \uc9c0\ub3c4 \ubaa8\ub974\ub2c8\uae4c\uc694.. \uc2a4\ud504\ub9c1 \uc2a4\ucf00\uc974\ub9c1 \ubb38\uc11c\ub97c \ubcf4\uba74 &#8220;MethodInvokingJobDetailFactoryBean&#8221;\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 &#8220;concurrent&#8221; \uac12\uc744 \uc124\uc815\ud558\ub294 \uac83\ub9cc\uc73c\ub85c \uc774 \ubb38\uc81c\uac00 \uac04\ub2e8\ud788 \ud574\uacb0\ub429\ub2c8\ub2e4.. &lt;bean id=&#8221;jobDetail&#8221; class=&#8221;org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean&#8220;&gt; &lt;property name=&#8221;targetObject&#8221; ref=&#8221;exampleBusinessObject&#8221; \/&gt; &lt;property name=&#8221;targetMethod&#8221; value=&#8221;doIt&#8221; \/&gt; &lt;property name=&#8221;concurrent&#8221; value=&#8221;false&#8221; \/&gt; &lt;\/bean&gt; \uadf8\ub7f0\ub370 \uc544\ub798\uc640\uac19\uc774 &#8220;JobDetailBean&#8221;\uc744 \uc774\uc6a9\ud558\ub294 \uacbd\uc6b0\ub77c\uba74 \uc5b4\ub5bb\uac8c\ud558\uba74\ub420\uae4c\uc694?? &lt;bean name=&#8221;exampleJob&#8221; class=&#8221;org.springframework.scheduling.quartz.JobDetailBean&#8220;&gt; &lt;property name=&#8221;jobClass&#8221; value=&#8221;example.ExampleJob&#8221; \/&gt; &lt;\/bean&gt; \ubc29\ubc95\uc740 \uac04\ub2e8\ud569\ub2c8\ub2e4.. \uc704 &#8220;ExampleJob&#8221; \ud074\ub798\uc2a4\ub97c\u00a0\ub9cc\ub4e4\ub54c &#8220;implements org.quartz.StatefulJob&#8221;\uc744 \ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4.. \uadf8\ub7f0\ub370 \uc694\uac74\uc774 \ubc14\ub00c\uc5b4 \ub3d9\uc2dc \uc2e4\ud589\uc744 \ud5c8\uc6a9\ud558\ub824\uba74 \ud074\ub798\uc2a4\ub97c \uc218\uc815\ud574\uc57c\uaca0\ub124\uc694.. \u3161..\u3161 &#8220;JobDetailBean&#8221;\uc744 \uc774\uc6a9\ud558\uba74\uc11c\ub3c4 \uc704 &#8220;concurrent&#8221;\ucc98\ub7fc \uc124\uc815\uc73c\ub85c \ud574\uacb0\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \ucc3e\uc544\ubd24\uc2b5\ub2c8\ub2e4.. \uadf8\ub7f0\ub370 \ubabb\ucc3e\uaca0\ub354\ub77c\uad6c\uc694.. \ud574\uc11c.. \uac4d..\u00a0\uc790\uccb4 \uad6c\ud604\uc744 \ud558\uae30\ub85c \uacb0\uc2ec\ud588\uc2b5\ub2c8\ub2e4.. \u314e\u314e.. \ub098\uc911\uc5d0\ub77c\ub3c4 \ub204\uad70\uac00 \ubc29\ubc95\uc744 \ucc3e\uac8c\ub418\uba74 \uc800\uc5d0\uac8c\ub3c4 \uc880 \uc54c\ub824\uc8fc\uc2dc\uae38.. ^^;; \ucc3e\uc544\ubcf4\ub2c8.. &#8220;implements org.quartz.StatefulJob&#8221;\uc744 \ud558\ub294 \uac83\uc740 &#8220;JobDetailBean&#8221;\uc758 &#8220;isStateful()&#8221;\uc774\ub77c\ub294 \uba54\uc18c\ub4dc\uc5d0 \uc601\ud5a5\uc744 \uc90d\ub2c8\ub2e4..\u00a0&#8220;JobDetailBean&#8221;\uc744 \uc0c1\uc18d\ud55c \uc0c8\ub85c\uc6b4 &#8220;MyJobDetailBean&#8221;\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4.. public class MyJobDetailBean extends JobDetailBean { boolean concurrent = false; public void setConcurrent(boolean concurrent) { this.concurrent = concurrent; } public boolean isStateful() { return !concurrent; } } \u00a0 &lt;bean name=&#8221;exampleJob&#8221; class=&#8221;myproject.MyJobDetailBean&#8220;&gt; &lt;property name=&#8221;jobClass&#8221; value=&#8221;example.ExampleJob&#8221; \/&gt; &lt;property name=&#8221;concurrent&#8221; value=&#8221;false&#8221; \/&gt; &lt;\/bean&gt; \ud504\ub85c\ud37c\ud2f0\uba85\uc744 &#8220;stateful&#8221;\uc774\ub77c\uace0 \ud558\uc9c0\uc54a\uace0 &#8220;concurrent&#8221;\ub77c\uace0 \ud55c \uac83\uc740 \uc704 \uc124\uc815\uc774 \uc0c1\ud0dc\uc720\uc9c0\ub97c \uc758\ubbf8\ud558\uc9c0\ub294\uc54a\uae30\ub54c\ubb38\uc785\ub2c8\ub2e4.. \uc5b4\uca0c\uac74.. \uc798 \ub3cc\uc544\uac00\ub294 \uac83 \uac19\uc2b5\ub2c8\ub2e4.. \u314e\u314e.. \u203b \ud55c\uac00\uc9c0 \ucc38\uace0\ud560\uac8c \uc788\uc2b5\ub2c8\ub2e4.. \ub9e4\ubd84 0\ucd08\uc5d0 \uc791\uc5c5\uc744 \uc2e4\ud589\ud558\ub3c4\ub85d \uc124\uc815\ud588\uc744\ub54c 0\ubd84 0\ucd08\uc5d0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[15,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-2I","jetpack-related-posts":[{"id":82,"url":"https:\/\/blog.box.kr\/?p=82","url_meta":{"origin":168,"position":0},"title":"Hibernate vs iBatis","date":"2014-06-12","format":false,"excerpt":"Hibernate vs iBatis Hibernate vs iBatis 1. 2\uac1c\uc758 \ud504\ub808\uc784\uc6cd\uc758 \ubd84\ub958 a. Hibernate: Object Relational Mapper b. iBatis: SQL mapper 2. Object Relational Mapper\ub780? a. Database \uc5d4\ud2f0\ud2f0(\uc77c\uc885\uc758 \ud14c\uc774\ube14 row)\uc640 \uc790\ubc14 \uac1d\uccb4\ub97c \ub3d9\uae30\ud654 \ud558\ub294 \uc5ed\ud560\uc744 \ub2f4\ub2f9 b. Hibernate\ub294 \uc774\ub7ec\ud55c \uc5ed\ud560\uc744 \ud558\ub294 \ud504\ub808\uc784\uc6cd c. \ubaa8\ub4e0 sql\ubb38\uc740 \ud504\ub808\uc784\uc6cd\uc5d0\uc11c \uc0dd\uc131\ub418\uace0 \uc2e4\ud589\ub428 d. sql\uc791\uc5c5\uc774 \ud544\uc694\ud560 \uacbd\uc6b0\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":389,"url":"https:\/\/blog.box.kr\/?p=389","url_meta":{"origin":168,"position":1},"title":"[\ud38c]iBATIS 2.3.0 \ub610\ub294 2.3.2 \uc774\uc0c1 sqlmap \uc790\ub3d9 \ub9ac\ub85c\ub529","date":"2014-09-15","format":false,"excerpt":"iBATIS 2.3.0 \ub610\ub294 2.3.2 \uc774\uc0c1 sqlmap \uc790\ub3d9 \ub9ac\ub85c\ub529 \uac1c\uc694 iBATIS + Spring \uac1c\ubc1c\uc2dc \ucffc\ub9ac \ub9e4\ud551 \ud30c\uc77c\uc774 \ubcc0\uacbd\ub418\uba74 \uc6f9\uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc11c\ubc84\ub97c \uc7ac\uae30\ub3d9\ud574\uc57c \uc801\uc6a9\uc774 \ub410\uc5c8\ub2e4. \uc774\ub7ec\ud55c \ubd88\ud3b8\uc744 \uc5c6\uc560\uae30 \uc704\ud574 \ub9e4\ud551 \ud30c\uc77c \ubcc0\uacbd\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \uac10\uc2dc, \uc801\uc6a9\ud558\ub294 \ubaa8\ub4c8\uc744 \uc81c\uacf5\ud55c\ub2e4. \uac10\uc2dc \ub300\uc0c1 \uc774 \ubaa8\ub4c8\uc740 iBATIS sqlmap \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 sqlMap \ubc0f sqlMapConfig \ud30c\uc77c\uc758 \ubcc0\uacbd\uc744 \uac10\uc9c0, \uc2e4\uc2dc\uac04 \uc801\uc6a9\ud574\uc900\ub2e4. \uc81c\uc57d\uc0ac\ud56d\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":122,"url":"https:\/\/blog.box.kr\/?p=122","url_meta":{"origin":168,"position":2},"title":"Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790","date":"2014-06-23","format":false,"excerpt":"Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790.\u00a0\ud504\ub85c\uadf8\ub798\ubc0d by\u00a0\uad8c\ub0a8 2012\/10\/14 21:33 kwon37xi.egloos.com\/4747016 \ub367\uae00\uc218 :\u00a029 Maven\uc744 \uc368 \ubcf8 \uc0ac\ub78c\ub4e4\uc740 \ub300\ubd80\ubd84 \ub290\ub07c\ub9ac\ub77c \uc0dd\uac01\ud558\uc9c0\ub9cc \ub9e4\uc6b0 \uacbd\uc9c1\ub3fc \uc788\uace0 \uadf8\ub85c\uc778\ud574 \ubb34\uc5b8\uac00 Maven\uc774 \uae30\ubcf8 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube4c\ub4dc \uacfc\uc815\uc744 \ucd94\uac00\ud574\uc57c \ud560 \uacbd\uc6b0 \uace0\uc0dd\uc774 \uc774\ub9cc \uc800\ub9cc\uc774 \uc544\ub2c8\ub2e4. \uc774\uc5d0, \uc694\uc998 Maven \ub300\ud55c \ub300\uc548\uc774 \ub9ce\uc774 \ub098\uc624\uace0 \uc788\uc73c\uba70 \uadf8 \uc911 \uac00\uc7a5 \ub3cb\ubcf4\uc774\ub294 \uac83\uc774\u00a0Gradle(Groovy\u00a0\uae30\ubc18)\uc774 \uc544\ub2cc\uac00 \uc2f6\ub2e4.\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":722,"url":"https:\/\/blog.box.kr\/?p=722","url_meta":{"origin":168,"position":3},"title":"[\ud38c]Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790.","date":"2015-04-15","format":false,"excerpt":"http:\/\/kwon37xi.egloos.com\/4747016 \u00a0 Maven\uc744 \uc368 \ubcf8 \uc0ac\ub78c\ub4e4\uc740 \ub300\ubd80\ubd84 \ub290\ub07c\ub9ac\ub77c \uc0dd\uac01\ud558\uc9c0\ub9cc \ub9e4\uc6b0 \uacbd\uc9c1\ub3fc \uc788\uace0 \uadf8\ub85c\uc778\ud574 \ubb34\uc5b8\uac00 Maven\uc774 \uae30\ubcf8 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube4c\ub4dc \uacfc\uc815\uc744 \ucd94\uac00\ud574\uc57c \ud560 \uacbd\uc6b0 \uace0\uc0dd\uc774 \uc774\ub9cc \uc800\ub9cc\uc774 \uc544\ub2c8\ub2e4. \uc774\uc5d0, \uc694\uc998 Maven \ub300\ud55c \ub300\uc548\uc774 \ub9ce\uc774 \ub098\uc624\uace0 \uc788\uc73c\uba70 \uadf8 \uc911 \uac00\uc7a5 \ub3cb\ubcf4\uc774\ub294 \uac83\uc774 Gradle(Groovy \uae30\ubc18)\uc774 \uc544\ub2cc\uac00 \uc2f6\ub2e4. \uadf8\ub798\uc11c \ucc28\uae30 \ud504\ub85c\uc81d\ud2b8\uc758 \ube4c\ub4dc \ud234\ub85c Gradle\uc744\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":68,"url":"https:\/\/blog.box.kr\/?p=68","url_meta":{"origin":168,"position":4},"title":"ANT Manual","date":"2014-06-12","format":false,"excerpt":"ANT Manual 1. Ant \uc18c\uac1c Apache Ant\ub294Java\uae30\ubc18\uc758build\ub3c4\uad6c\ub85c\uc5bc\ub9c8\ub098\uac1c\ubc1c\uc744\ud3b8\ub9ac\ud558\uac8c\ud574\uc8fc\ub290\ub0d0\uac00\uad00\ub828\uc774\uc788\uc73c\uba70\ud504\ub85c\uadf8\ub7a8\uc774\ub098\ud504\ub85c\uc81d\ud2b8\uc640\ub294\ud2b9\ubcc4\ud55c\uad00\uacc4\uc131\uc774\uc5c6\ub2e4.\uac04\ub2e8\ud558\uac8c\ub9d0\ud558\uc790\uba74make\uc640\uac19\uc740\ub3c4\uad6c\uc640\uc720\uc0ac\ud55c\uae30\ub2a5\uc744\ud558\uba74\uc11c\ubcf4\ub2e4\uc6b0\uc218\ud55c\ud2b9\uc9d5\ub4e4(\uc790\ubc14\uae30\ubc18\uc758\ud2b9\uc9d5\ub4e4)\uc744\uac00\uc9c0\uace0\uc788\ub2e4\ub294\uac83\uc774\ub2e4. \uc5ec\uae30\uc11c\ub294\uae30\ubcf8\uc801\uc778Ant\uc124\uce58\ubc0f\ubb38\ubc95\uc744\uc18c\uac1c\ud55c\ub2e4. 2. Ant \uc124\uce58 2.1 Ant \uad6c\ud558\uae30 Ant\ub294http:\/\/jakarta.apache.org\/ant\/\uc5d0\uc11c\ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec\ubc1b\uc744\uc218\uc788\ub2e4. 2.2 Ant \uc124\uce58\ud558\uae30 - Window \ud658\uacbd\uc5d0\uc11c\uc124\uce58 Ant \uac00c:ant\uc5d0\uc778\uc2a4\ud1a8\ub418\uace0\uc788\ub2e4\uace0\uac00\uc815\ud558\uace0,\ub2e4\uc74c\uc758\ud658\uacbd\uc744\ub3c4\uc2a4\ucc3d\uc5d0\uc11c\uc124\uc815\ud558\ub4e0\uc9c0 \ub0b4\ucef4\ud4e8\ud130>\ub4f1\ub85d\uc815\ubcf4>\uace0\uae09>\ud658\uacbd\ubcc0\uc218\uc5d0\uc124\uc815\uc744\ud55c\ub2e4. set ANT_HOME=c:ant set JAVA_HOME=c:jdk1.2.2 set PATH=%PATH%;%ANT_HOME%bin - Unix \ud658\uacbd\uc5d0\uc11c\uc124\uce58 Ant \uac00\/home1\/jeus\/ant\uc5d0\uc778\uc2a4\ud1a8\ub418\uace0\uc788\ub2e4\uace0\uac00\uc815\ud558\uace0,\ub2e4\uc74c\uc758\ub0b4\uc6a9\ud658\uacbd\uc124\uc815\ud30c\uc77c\uc5d0\uc124\uc815\ud55c\ub2e4. (\uc0ac\uc6a9\ud558\ub294shell\uc5d0\ub530\ub77c\uc11c) Unix (bash) export ANT_HOME= \/home1\/jeus\/ant export JAVA_HOME \/usr\/j2se export PATH=${PATH}:${ANT_HOME}\/bin Unix (csh) setenv ANT_HOME\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":329,"url":"https:\/\/blog.box.kr\/?p=329","url_meta":{"origin":168,"position":5},"title":"[MFC] &#8211; \ub2e4\uc774\uc5bc\ub85c\uadf8 \uae30\ubc18 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc2e4\ud589\uacfc \ub3d9\uc2dc\uc5d0 \ub2e4\uc774\uc5bc\ub85c\uadf8 \uac10\ucd94\uae30","date":"2014-08-09","format":false,"excerpt":"[\ucd9c\ucc98] -\u00a0http:\/\/frog3147.tistory.com\/entry\/\ub2e4\uc774\uc5bc\ub85c\uadf8-\uae30\ubc18-\ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c-\uc2e4\ud589\uacfc-\ub3d9\uc2dc\uc5d0-\ub2e4\uc774\uc5bc\ub85c\uadf8-\uac10\ucd94\uae30 \ub2e4\uc774\uc5bc\ub85c\uadf8\ub97c domodal\ub85c \ub744\uc6b8 \ub54c \uc2e4\ud589\uacfc \ub3d9\uc2dc\uc5d0 \ub2e4\uc774\uc5bc\ub85c\uadf8\ub97c \ud2b8\ub808\uc774\ub85c \ub0b4\ub9ac\uac70\ub098 \uac10\ucd94\uc5b4\uc57c \ud560 \uacbd\uc6b0 \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc73c\ub85c \uc708\ub3c4\uc6b0\ub97c \ubcf4\uc774\uc9c0 \uc54a\uac8c \ud558\ub824\uba74 ShowWindow(FALSE); \uc640 \uac19\uc774 \ud558\uba74 \ub418\uc9c0\ub9cc \u00a0\ub2e4\uc774\uc5bc\ub85c\uadf8 \uae30\ubc18\uc758 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c\ub294 DoModal \ud568\uc218\uac00 \ub0b4\ubd80\uc801\uc73c\ub85c WM_SHOWWINDOW \uba54\uc2dc\uc9c0\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc708\ub3c4\uc6b0\ub97c \ub744\uc6cc\ubc84\ub9ac\uae30 \ub54c\ubb38\uc5d0 OnInitalDialog\ub098 OnCreate \ucc98\ub9ac\uae30\uc5d0\uc11c \uc778\uc704\uc801\uc73c\ub85c ShowWindow(SW_HIDE); \ub77c\uace0 \ucf54\ub529\uc744 \ud574\ub193\uc544\ub3c4 \ud574\ub2f9 \uc791\uc5c5\uc774 \ubb34\uc2dc\ub418\uc5b4 \ubc84\ub9b0\ub2e4.\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/168"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=168"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/168\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}