- ã¿ã€ãXã®ãããžã§ã¯ãã§äœ¿çšã§ãããã®ã¯äœã§ããïŒ
- Ant / Make / shãããåªããŠããã®ã¯ãªãã§ããïŒ
- ãããŠããããžã§ã¯ãã§antlr / JAX-WS / XDocletã䜿çšãããå Žåã¯ã©ããªããŸããïŒ
ãããã®è³ªåã¯ãã¹ãŠãMavenãäœã§ãããMavenãæäŸãããã«ã管çã®åé¡ã解決ããããã®ã©ã®ãããªã¢ãããŒãã«ã€ããŠã®ç解ãäžåå
ç§ã«ãšã£ãŠã圌ããMavenãšèšããšããããã¯3ã€ã®ããçããã®ãæå³ããããšãç解ããããšã¯éåžžã«å®è¡å¯èœã§ãïŒ
- POMã ãããžã§ã¯ããªããžã§ã¯ãã¢ãã«ã ãããžã§ã¯ãã¢ãã«-ãããžã§ã¯ãã®æ§æèŠçŽ ãšãã®ã©ã€ããµã€ã¯ã«ã®æ§é ã説æããŸãã
- ã¢ãŒãã£ãã¡ã¯ããªããžããªã ãœãããŠã§ã¢ã¢ãžã¥ãŒã«ã¢ã»ã³ããªè£œåã®ä¿ç®¡å Žæãšã¡ã¿ããŒã¿ã
- mvnãŠãŒãã£ãªãã£ãšãã®ãã©ã°ã€ã³ã å®éã«ã¯ãã¢ãžã¥ãŒã«ã®ã©ã€ããµã€ã¯ã«ç®¡ç
ãããžã§ã¯ããçµã¿ç«ãŠãããã®ããŒã«ã§ãã
ãããããåå¥ã«èŠãŠãããããäžç·ã«äœ¿çšããæ¹æ³ãç解ããŸãããã
POM
ããã¯äžè¬çãªãããžã§ã¯ãã¢ãã«ã§ãã ååãããŒãžã§ã³ãäœæè ãšãã®é£çµ¡å æ å ±ããããžã§ã¯ãã®VCSããã³ãããžã§ã¯ãã«äžè¬çã«é¢é£ä»ããããŠãããããã¯ãŒã¯ãªãœãŒã¹ããããžã§ã¯ãã®ã¿ã€ãïŒããšãã°ãã©ã€ãã©ãªãŸãã¯Webã¢ãžã¥ãŒã«ãå ã®çšèªã§ã¯ããã±ãŒãžã³ã°ãšåŒã°ããŸãããåä¿¡ããã¿ã€ãã ãã§ãªããã¢ãŒãã£ãã¡ã¯ãïŒããã©ã°ã€ã³ã®ã¢ã»ã³ããªã§äœ¿çšãããä»ã®ãããžã§ã¯ããžã®ãªã³ã¯ãšãããã®äœ¿çšæ¹æ³ã®èª¬æã ãã®ã¢ãã«ã®2ã€ã®ã³ã³ããŒãã³ãã¯ãç§ã«ãšã£ãŠç¹ã«éèŠãªããã§ãã
ä»ã®ã¢ãžã¥ãŒã«ãžã®ãªã³ã¯
POMã¯ãä»ã®ã¢ãžã¥ãŒã«ãšã®3çš®é¡ã®é¢ä¿ãäŸåæ§ãå å«ãããã³ç¶æ¿ãèš±å¯ããŸãã
äŸåé¢ä¿ ããã®é¢ä¿ã¯ãã¢ãžã¥ãŒã«ã®ã©ã€ããµã€ã¯ã«ã®ããã€ãã®æ®µéã§ãã¢ãžã¥ãŒã«äŸåæ§ã®ã¢ãŒãã£ãã¡ã¯ããããã€ãå¿ èŠã§ãããšèšããŸãïŒæœè±¡çã«ã¯ãç§ã«ãšã£ãŠã¯æãã§ãïŒã ã©ã€ããµã€ã¯ã«ã®ã©ã®æ®µéã§æ£ç¢ºã«äœãå¿ èŠãã¯ãããããäŸåã®ç¯å²ã«ãã£ãŠæ±ºãŸããŸãã Mavenã¯ããã€ãã®å®çŸ©æžã¿ã¹ã³ãŒããç解ããç¬èªã®ã¹ã³ãŒããè¿œå ã§ããŸãã äŸãšããŠãç§ã¯1ã€ã®ã¹ã³ãŒãã«éå®ããŸããã³ã³ãã€ã«-ã³ã³ãã€ã«ããã¹ãå®è¡ãããã³å®è¡ã®æ®µéã§ãã€ããªäŸåé¢ä¿ã¢ã»ã³ããªãå¿ èŠã§ãããšèšããŸãã
å å« -æ¥ç¶ãããã¢ãžã¥ãŒã«ã¯ã¢ãžã¥ãŒã«ã®äžå¯æ¬ ãªéšåã§ãããšèšããŸãã ã¢ãžã¥ãŒã«ãã©ã€ããµã€ã¯ã«ã®ç¹å®ã®æ®µéãééããã«ã¯ããã®ã¡ã³ããŒããã®æ®µéãééããå¿ èŠããããŸãã Webã¢ãžã¥ãŒã«ãEJBããã±ãŒãžãããã³å ±æã©ã€ãã©ãªãå«ããšã³ã¿ãŒãã©ã€ãºã¢ãžã¥ãŒã«ã®å žåçãªäŸã æããã«ããã®ã¢ã»ã³ããªã«ã¯ãå«ãŸããåã¢ãžã¥ãŒã«ã®ã¢ã»ã³ããªãå¿ èŠã§ãã
ç¶æ¿ ãã®ãããªé¢ä¿ã¯ãç¥å ã¢ãã«ã®çžç¶äººéšåã«ç§»è¡ããããšãæå³ããŸãã 転éã«ãŒã«ã¯ããæ··ä¹±ããŠããŸãããåºæ¬çã«ã¯ååãé©çšãããŸã-ç¥å ã¢ãã«ãã©ã¡ãŒã¿ã®å€ãåå«ã¢ãã«ã®ããã©ã«ãã«ãªããŸãã ç§ã®å®è·µã®äŸïŒãããžã§ã¯ããã³ã³ãã€ã«ããããã®JDKããŒãžã§ã³ãçµæã®å éšãªããžããªããœãŒã¹ããšã³ã³ãŒãã£ã³ã°æšæºã«å¯Ÿå¿ããŠãããã©ãããæ€èšŒããããã®äžé£ã®ã«ãŒã«ãã€ã³ã¹ããŒã«ããã¢ãžã¥ãŒã«ãäœæãããŸããããããžã§ã¯ãã¢ãžã¥ãŒã«ã®äžã
ã¢ã»ã³ããªäžã«äœ¿çšããããã©ã°ã€ã³ã®èª¬æ
説æã¯ãé¢é£ãããã©ã°ã€ã³ã®ååããã®èšå®ã®äžéšïŒãã©ã°ã€ã³ã«ãã£ãŠåå¥ã«æ±ºå®ãããŸãïŒãããã³ã©ã€ããµã€ã¯ã«ã®åãã§ãŒãºã§å®éã«å®è¡ãããç®æšã§æ§æãããŸãïŒãããã®çšèªã®èåŸã«ããã¢ã€ãã¢ã®è©³çŽ°ãªèª¬æã«ã€ããŠã¯ã以äžãåç §ããŠãã ããïŒã
ãã®èŠçŽ ã¯ãPOMã®äžè¬çãªèãæ¹ãšã¯å€å°ç°ãªããŸããã¢ãžã¥ãŒã«ã®å®£èšçãªèª¬æã¯å«ãŸããŠããŸããããç¹å®ã®ããŒã«ã§ã¢ãžã¥ãŒã«ãçµã¿ç«ãŠãæé ã¯èšèŒãããŠããŸããã
ãŸãšã
- POMã¯ããœãããŠã§ã¢ã¢ãžã¥ãŒã«ãèšè¿°ããããã®äžè¬çãªçµ±åã¢ãã«ã§ãã
- åã ã®ã¢ãžã¥ãŒã«ã®å±æ§ã ãã§ãªãããããã®éã®é«ã¬ãã«ã®é¢ä¿ã®ä¿åããµããŒãããŸãã
- ãŸããã¢ãžã¥ãŒã«ã®ã©ã€ããµã€ã¯ã«ããµããŒãããããã«å¿ èŠãªããŒã«ã«é¢ããæ å ±ãå«ãŸããŠããŸãã
ã¢ãŒãã£ãã¡ã¯ããªããžããª
ã¢ãŒãã£ãã¡ã¯ããªããžããªã¯ããã«ãçµæã®å°çšãªããžããªã§ãããç®çã®ã¢ãŒãã£ãã¡ã¯ãïŒååãããŒãžã§ã³ãã¢ãŒãã£ãã¡ã¯ãã®çš®é¡ïŒã®æ€çŽ¢ãç°¡çŽ åããããã«é 眮ãããŠããŸãã éçºè ã®ã°ã«ãŒãã¯ãã¢ãžã¥ãŒã«ã®ãœãŒã¹ã³ãŒãã®ã³ããŒãæããã«çžäºã®äœæ¥ã®çµæã䜿çšãã0ã§äŸåé¢ä¿ããªãŒãæ§ç¯ã§ããŸããMavenäºæãªããžããªã¯ãããŸããŸãªãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®çµæãäºå®äžå ¬éããããã®æšæºã«ãªããŸããã
ãããžã§ã¯ãã¢ãã«ãå«ãpomãã¡ã€ã«ãã¢ãŒãã£ãã¡ã¯ãã§ããã誰ãšã§ããªããžããªã«æ ŒçŽã§ããããšã«æ³šæããŠãã ããïŒå®éãå°ãªããšãã¢ãžã¥ãŒã«ã®èå¥ãšäŸåé¢ä¿ã®ã¿ãå«ããããã®åãæšãŠãããããŒãžã§ã³ã¯åžžã«æ ŒçŽãããŸãïŒã ãããã£ãŠããªããžããªã¯ããªããžããªã«æ ŒçŽãããŠããã¢ãžã¥ãŒã«ã«é¢ããæ å ±ã®ãœãŒã¹ã§ããããŸãïŒé åžã«æäœéå¿ èŠã§ãïŒã
ã ããã圌ãã¯ç§ãã¡ã«ã©ããªããŒãã¹ãäžããŸããïŒ
- ã¢ãŒãã£ãã¡ã¯ãã®æ§é åã¹ãã¬ãŒãžããã®ã«ã¿ãã°åã
- ã¢ãŒãã£ãã¡ã¯ãã®åå©çšã
ã©ã€ããµã€ã¯ã«ç®¡çãŠãŒãã£ãªãã£
ååã¯éåžžã«åããªãã®ã§ããããšãå€æããŸããããããã¯äž»é¡ã®é«ã䜿åœãšè€éããšäžèŽããŠããŸãã
ãã®æ©èœã«é£ã³èŸŒãåã«ãMavenã§ã¢ãžã¥ãŒã«ã®ã©ã€ããµã€ã¯ã«ãæŽçããçè«ã«å°ã粟éããå¿ èŠããããŸãã ã©ã€ããµã€ã¯ã«ã¯ãã¢ã»ã³ããªã®åæåããå±éãŸã§ã®ã¢ãžã¥ãŒã«ã«å¯Ÿããäžé£ã®æäœå šäœã§ãã ã©ã€ããµã€ã¯ã«ãæž¡ãéçšã§ãã¢ãžã¥ãŒã«ã«å¯ŸããŠç¹å®ã®æäœãå®è¡ãããããã€ãã®ã¢ãŒãã£ãã¡ã¯ãã圢æãããŸãã ã©ã€ããµã€ã¯ã«ã¯ãã§ãŒãºã«åå²ãããŸãã åãã§ãŒãºã§ã¯ãã¢ãžã¥ãŒã«ã®ééãšæ°ããã¢ãŒãã£ãã¡ã¯ãã®åºçŸã®çµæãšããŠãã¢ãžã¥ãŒã«ãæ°ããç¶æ ã«ç§»è¡ããŸãã åã®åãã§ãŒãºã¯ã次ã®ãã§ãŒãºã®åºç€ãæºåããŸãã ãã§ãŒãºãªã¹ãã¯åºæ¬çã«POMã®äžéšã§ããããã¹ãŠã®ã¢ãžã¥ãŒã«ã«å ±éã®ã°ããŒãã«ã§ãã æ確ãªãªã¹ããæäŸããã®ã¯ç¡æå³ã§ãããäŸãšããŠãã³ã³ãã€ã«ããã¹ãããããã€ã®é ã§ããã€ãã®ãã§ãŒãºã瀺ããŸãïŒç§ã®æèŠã§ã¯ãçŽæçã«ååãä»ããŸã:)ïŒã
åãã§ãŒãºå ã§ãç¹å®ã®ã¢ãžã¥ãŒã«ã®ã¢ãã«ã«å¿ããŠç¹å®ã®ç®æšã»ãããå®è¡ãããŸãã ã¿ãŒã²ããã¯ããœãŒã¹ã³ãŒããã¢ãŒãã£ãã¡ã¯ãã«å¯Ÿããç¹å®ã®æäœã§ãã
次ã«ããŠãŒãã£ãªãã£èªäœã«ã€ããŠèª¬æããŸãã 圌女ã¯ããããžã§ã¯ãã¢ãã«ã«åºã¥ããŠã©ã€ããµã€ã¯ã«ãå®è£ ãã責任ããããŸãã 2ã€ã®äž»èŠã³ã³ããŒãã³ãã§æ§æãããŸãã
- ãŸãããããžã§ã¯ããã¶ã€ã³ã®åºæ¬ååãæšæºãããžã§ã¯ãã¿ã€ãã®ãã§ãŒãºã®ããã©ã«ãç®æšããã©ã°ã€ã³ã®äœæ¥ç°å¢ïŒã¢ãã«ãžã®ã¢ã¯ã»ã¹ã€ã³ã¿ãŒãã§ã€ã¹ããªããžããªãFSãèšå®ãªã©ïŒã説æããéåžžã«å°ããªã«ãŒãã«ãã.pãïŒã
- 第äºã«ããã©ã°ã€ã³ããã å®éã«ã¯ãç®æšãéæããã³ãŒããå«ãŸããŠããŸãã ã»ãŒãã¹ãŠã®å€éšmvnæ©èœãå®è£ ãããŠããŸãã çæãã³ã³ãã€ã«ããã¹ããããã±ãŒãžãªã©ã ãªã©
ãã®ãŠãŒãã£ãªãã£ãšã®éä¿¡ã¯éåžžã«ç°¡åã«æ§ç¯ãããŠããŸãã
ç¹å®ã®ãã©ã°ã€ã³ã«å¯ŸããŠåå¥ã®ã¿ã¹ã¯ãå®è¡ããããã«äŸé Œããããšãã§ããŸãã ããšãã°ãEclipseãããžã§ã¯ããçæããããã®ãã©ã°ã€ã³ããããŸããããã¯ãããã©ã«ãã§ã©ã®ãã§ãŒãºã«ãé¢é£ä»ããããŠããªãããããžã§ã¯ããçæãããã¿ã¹ã¯ã§ãããé¢ä¿è ã«ãã£ãŠæåã§åŒã³åºãããŸãã
mvnã®ãã1ã€ã®éåžžã«èå³æ·±ãæ©èœã¯ãã¢ãŒãã¿ã€ãã«åºã¥ããã©ãããããžã§ã¯ãã®äœæã§ãã ã¢ãŒãã¿ã€ãã¯ãäžè¬çã«ãã®æ§é ãšäœ¿çšããããã©ã°ã€ã³ã«çŠç¹ãåãããæ±çšãããžã§ã¯ããã³ãã¬ãŒãã§ãã ããšãã°ãjava-libraryãweb-moduleãããã³grailsã¢ããªã±ãŒã·ã§ã³ãªã©ã®éæšæºã®æšæºã¢ãŒãã¿ã€ãããããŸãã ã¢ãŒãã¿ã€ããšãããžã§ã¯ãã¿ã€ãã®éããç解ããããšãéèŠã§ãã ã¢ãŒãã¿ã€ã-ãããžã§ã¯ãã®åææ§é ãšãããžã§ã¯ãã®åã ã®éšåã®ãã³ãã¬ãŒãã®ã¿ã§ããããžã§ã¯ããäœæããåŸããã®ã¢ãŒãã¿ã€ãã«é¢ããæ å ±ã¯æ®ããŸããã ãããžã§ã¯ãã®ã¿ã€ã-å察ã«ãã©ã€ããµã€ã¯ã«å šäœã§äœ¿çšãããã¢ãã«ã®äžéšã
åèšã¯ãããã§ãã
ãã®ãããMavenã®3ã€ã®æ±ãç¹å®ããŸããã 圌ãã¯äžç·ã«äœããããŸããïŒ
- 1ã€ã®å Žæããã³1ã€ã®åœ¢åŒã§ã®ã¢ãžã¥ãŒã«æ å ±ã®éäžã ããã§ã¯ãã¹ãŠãã¹ã ãŒãºã§ã¯ãããŸããããå€ãã®IDEã¯POMãããããžã§ã¯ããã€ã³ããŒãã§ããŸããã»ãšãã©ã®èªåã³ã³ãã€ã«ãµãŒããŒïŒXPã®æ¯æè ãèšãããã«ç¶ç¶çãªçµ±åïŒã¯ãããžã§ã¯ããè¿œå ããããã«ã䜿çšã§ããŸãã
- çµ±åã¢ãžã¥ãŒã«èå¥ã·ã¹ãã ã éåžžã«ã·ã³ãã«ã§éåžžã«éèŠã§ãã å é±ã®åææ¥ã®23æã«åéããããsuper-projectã®bugfix-branchã®ãããªæå®ã¯çŸåšãããŸããã
- 1ã€ã®ããŒã«ã ççŽã«èšã£ãŠãããã¯Mavenã®ãŠããŒã¯ãªæ©èœã§ã¯ãããŸããã ç§ã¯æµæããããšãã§ãããå ±éã®çå®ãç¹°ãè¿ãããšã¯ã§ããŸããããããžã§ã¯ãã¯æšæºçã§ããŒã¿ãã«ãªæ段ã§åéãããã¹ãã§ãã æåã®ãããžã§ã¯ãéçºè ã®ãæ°ã«å ¥ãã®IDEãçµã¿ç«ãŠãããšã¯ãå°çãžã®éã§ãã
- èªåäŸåé¢ä¿ç®¡çã ãããžã§ã¯ãã®ãœãŒã¹ã³ãŒããäœãã®ãã€ããªã¢ã»ã³ããªã«ãªã³ã¯ããããšã¯éåžžã«æ²ããç¿æ
£ã§ãã ç¹ã«æ³šæãå¿
èŠãªã®ã¯ããœãŒã¹ãªããžããªã®ãµããŒãã®é£ããã§ãïŒsvnããã¯ã¢ããã«å¿
èŠãªç£æ°ããŒãã®æ°ã¯ïŒïŒïŒïŒã ãœãŒã¹ã³ãŒãããã©ãã°ãããªããžããªãŸãã¯äŸåé¢ä¿ã®ã¹ã¯ãªããã®åœ¢ã®èªè»¢è»ã®çºæã
ãå®å®è¹ãå®å®ã®åºãããèãæ代ã«ã¯æè¯ã®è§£æ±ºçã§ã¯ãããŸããã - ãããžã§ã¯ãã®èšèšããã³çµã¿ç«ãŠããã»ã¹ã«é¢é£ãããœãªã¥ãŒã·ã§ã³ã®åå©çšã ãããžã§ã¯ãã®ç¶æ¿ãšå å«ã®ãããã§ãéçºããããããžã§ã¯ãã¢ãã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢é£ããèšå®ãããã³åœç€Ÿã§æ¡çšãããŠããããŒã«ãåå©çšã§ããŸãã ã¢ãŒãã¿ã€ãã䜿çšãããšãæ°ãããããžã§ã¯ãã®äœæ段éãèªååãããããžã§ã¯ãæ§é ã®æºåã«ãããæéãç¯çŽããå€éšã¢ãã«ã®äœ¿çšã«ããããšã©ãŒãæå°éã«æããããšãã§ããŸãã
- äœæ¥çµæãšãã®åŸã®äœ¿çšã®åçŽãã管çããããã®æ¢è£œã®ããŒã«ã ã€ã³ãã©ã¹ãã©ã¯ãã£ãé©åã«æ§æããåãã«ããé©åãªå Žæã«èœã¡çããå°æ¥ã®äœ¿çšã«åããŸãã 倧èŠæš¡ãããžã§ã¯ãã®ããŸããŸãªããŒãžã§ã³/ã¢ãžã¥ãŒã«ãã©ã³ãã®ããã©ãŒãã³ã¹ã確èªããå¿ èŠããããŸããïŒ POMã§äŸåé¢ä¿ãç·šéããã ãã§ãã
ãããã«
ç§ãæã äžå¿çãªåé¡ããéžè±ãããã©ã®ããã«ãã®åé¡ã«åãæããäœããããŸããŸã...
äžèšã®ãã¹ãŠã®æ å ±ãããåçŽãªãã®ãæãããšãã§ããŸãããäœããã®çç±ã§éåžžã«ãŸããªçµè«ãå°ãåºããŸãã Mavenã¯ãJavaã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ãŠãŒãã£ãªãã£ã§ã¯ãããŸããã Mavenã¯ããããžã§ã¯ããµããŒãã䜿çšããŠå¹ åºãã¿ã¹ã¯ãèªååããããã®ãã¬ãŒã ã¯ãŒã¯ã§ãã èšèªããã©ãããã©ãŒã ãšã¯é¢ä¿ãããŸãã;ããã«ãäœãåéãã矩åã¯çµ¶å¯Ÿã«ãããŸããã ã¢ãã«ã®èª¬æã䜿çšãããããã©ã°ã€ã³ãèšè¿°ããŠã1ã€ãŸãã¯å¥ã®ããŒã«ã«å€æããŸãã ã¯ããæ¡çšãããŠããããã©ã«ãã®ã¢ãã«ã¯Javaã¢ãžã¥ãŒã«ã®ã¢ã»ã³ããªã§ããããããã¯ããã©ã«ãã«éããŸãã...
ãããã¯ãèªãã åŸã誰ããæåã«äžãããã質åã«èªä¿¡ãæã£ãŠçããããããšãé¡ã£ãŠããŸã;ïŒ
PSãŸããMavenã®ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ã®äœ¿çšçµéšã«ã€ããŠãèå³ãæã£ãŠåŠã³ãŸãã å°æ¥ãèå³æ·±ãçãããŠãŒã¹ã±ãŒã¹ã®äŸãå«ãæçš¿ãäœæãããšããã¢ã€ãã¢ããããŸãã