çšèª
ä»ã®ã·ã¹ãã ãšåæ§ã«ãMavenã«ã¯ç¬èªã®çšèªãšæŠå¿µããããŸãã
ãããžã§ã¯ãæ§é å šäœã¯pom.xmlãã¡ã€ã«ïŒPOM-ãããžã§ã¯ããªããžã§ã¯ãã¢ãã«ïŒã«èšè¿°ãããŠããããããžã§ã¯ãã®ã«ãŒããã©ã«ããŒã«é 眮ããå¿ èŠããããŸãã Mavenã®éèŠãªæŠå¿µã¯ã¢ãŒãã£ãã¡ã¯ãã§ããããã¯å®éããªããžããªã«ä¿åãããŠããã©ã€ãã©ãªã§ãã äœããã®äžæ¯ããã©ã°ã€ã³ã®å¯èœæ§ããããŸãã
äŸåé¢ä¿ãšã¯ããããžã§ã¯ãã§ã³ãŒããã³ã³ãã€ã«ãŸãã¯ãã¹ãããããã«çŽæ¥äœ¿çšãããã©ã€ãã©ãªã§ãã
ãã©ã°ã€ã³ã¯ããããžã§ã¯ãã®ãã«ãæãŸãã¯ãã®ä»ã®ç®çïŒãããã€ã¡ã³ããEclipseçšã®ãããžã§ã¯ããã¡ã€ã«ã®äœæãªã©ïŒã«Mavenèªèº«ã䜿çšããŸãã
Mavenã䜿çšããæåã®æ®µéã§ããŠãŒã¶ãŒã¯ç¢ºãã«ã¢ãŒãã¿ã€ããªã©ã®æŠå¿µã«ééããŸãã ã¢ãŒãã¿ã€ãã¯ãããŸããŸãªçš®é¡ã®ãããžã§ã¯ãïŒwebãswing-projectsãªã©ïŒã®ãã¡ã€ã«ããã³ãã£ã¬ã¯ããªã®ç¹å®ã®æšæºã¬ã€ã¢ãŠãã§ãã èšãæããã°ãMavenã¯ãããžã§ã¯ãã®éåžžã®ãã«ãæ¹æ³ãèªèããŠãããã¢ãŒãã¿ã€ãã«åŸã£ãŠãã£ã¬ã¯ããªæ§é ãäœæããŸãã
éåžžãææç©ã®ååã¯ãã°ã«ãŒãã®ååãç¬èªã®ååãããã³ããŒãžã§ã³ã§æ§æãããŸãã ããšãã°ãMavenç°å¢ã§ã¯ãSpringã®ååã¯org.springframework.springïŒ2.5.5ã§ãã æåŸã®ãã¡ã€ã³ã¯åžžã«artifactIdãæå³ãããã®åã«ãããã¹ãŠã®ãã®-groupId-ãããèŠããŠãããŠãã ããïŒ
äžèšã®èšäºã§è©³ãã説æãããŠããã®ã§ãã©ã€ããµã€ã¯ã«ã«ã€ããŠã¯èª¬æããŸããã ãããç·Žç¿ããŸãããã
Mavenãã€ã³ã¹ããŒã«ãã
ææ°ããŒãžã§ã³ã¯ãå ¬åŒWebãµã€ãã®ããŠã³ããŒãããŒãžãããã€ã§ãããŠã³ããŒãã§ããŸã ã ã¢ãŒã«ã€ããä»»æã®ãã£ã¬ã¯ããªã«è§£åããã ãã§ãã 次ã«ãPathã«å€æ°ãäœæããå¿ èŠããããŸãããã®å€æ°ã§ã¯ãMavenãžã®ãã¹ãæå®ããå¿ èŠããããŸãã Win +äžæåæ¢-詳现èšå®-ç°å¢å€æ°-äžéšã®ãŠã£ã³ããŠã§[äœæ]ãã¯ãªãã¯ããM2_HOMEãšããååãå ¥åããŠãå€ãCïŒ\ apache-maven-2.2.1ããå ¥åããŸãã 次ã«ãå€ïŒ M2_HOMEïŒ \ binã§å¥ã®M2å€æ°ãäœæããŸãã ãŸããJDKãžã®ãã¹ãæã€JAVA_HOMEå€æ°ãããããšã確èªããŸãã ãã®å€ã¯ããcïŒ\ Program Files \ Java \ jdk1.6.0_10 \ãã®ãããªãã®ã§ãªããã°ãªããŸããã æåŸã«ãåããŠã£ã³ããŠã§Pathå€æ°ãäœæ/å€æŽããŸããMavenå®è¡å¯èœãã¡ã€ã«ãæã€ç¶èŠªãã³ãã³ãã©ã€ã³ããèŠããããã«ãïŒ M2ïŒ ãæžã蟌ãã ãã§ãã 次ã«ãã€ã³ã¹ããŒã«ã®ããã©ãŒãã³ã¹ã確èªããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãã³ãã³ãã©ã€ã³ã«ç§»åããŠã³ãã³ããå ¥åããŸã
mvn âããŒãžã§ã³
次ã®ãããªMavenãjreãããã³ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãžã§ã³ã«é¢ããæ å ±ã衚瀺ãããŸãã
MavenããŒãžã§ã³ïŒ2.2.1 JavaããŒãžã§ã³ïŒ1.6.0_10 OSåïŒ "windows 2003"ããŒãžã§ã³ïŒ "5.2" archïŒ "x86"ãã¡ããªïŒ "windows"
Mavenã¯ãããšãã°CïŒ\ Documents and Settings \ username \ .m2 \ repositoryãã£ã¬ã¯ããªãªã©ã®å人ãã©ã«ããŒã«ããŒã«ã«ãªããžããªãäœæããŸã
ãã¹ãŠãMavenãåäœããæºåãã§ããŸãããã¢ããªã±ãŒã·ã§ã³ã®äœæãéå§ã§ããŸãã
ã¢ãŒãã¿ã€ãããã¢ããªã±ãŒã·ã§ã³ãäœæãã
Maven Webãµã€ãã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã§æã人æ°ã®ããã¢ãŒãã¿ã€ãããªã¹ããããŠããŸãããç¬èªã®ã¢ãŒãã¿ã€ããç°¡åã«äœæããããããå ·äœçãªã¢ãŒãã¿ã€ããèŠã€ãããããããšãã§ããŸãã
ããã§ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã«èå³ããããšããŸããããé©åãªã¢ãŒãã¿ã€ããèŠã€ããŸããããã¯maven-archetype-webappãšåŒã°ããŸãã ã³ãã³ãããã³ããã®å¿ èŠãªãã£ã¬ã¯ããªã§ãMavenã³ãã³ããå®è¡ããŸãã
mvnã¢ãŒãã¿ã€ãïŒcreate -DgroupId = com.mycompany.app -DartifactId = my-webapp -DarchetypeArtifactId = maven-archetype-webapp
ããã§ãååãjavaã®éåžžã«ãããããããã£ã¬ã¯ããªæ§é ãèŠãããšãã§ããŸã-ããã¯ã¯ã©ã¹ãwebappã§ã-Webã¢ããªã±ãŒã·ã§ã³ã®ããŒãžããªãœãŒã¹-ã¯ã©ã¹ãã¹å ã®ããŸããŸãªãªãœãŒã¹ïŒæ§æãã¡ã€ã«ãªã©ïŒããã¹ã-ãŠããããã¹ããªã©.pã
ãããžã§ã¯ãã®çµã¿ç«ãŠ
ããã§ã¯ãã¹ãŠãç°¡åã§ã-ã³ãã³ããå®è¡ããŸã
mvnããã±ãŒãž
ãŸãã¯
mvnã€ã³ã¹ããŒã«
pom.xmlãã¡ã€ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ã«ãŒããã£ã¬ã¯ããªã æåã®ã³ãã³ãã¯ãããžã§ã¯ããã³ã³ãã€ã«ããŠã¿ãŒã²ãããã©ã«ããŒã«é 眮ãã2çªç®ã®ã³ãã³ãã¯ããŒã«ã«ãªããžããªã«ãé 眮ããŸãã
ã³ã³ãã¢ã®ãããªäŸ¿å©ãªæ©èœããããŸããã€ãŸãã次ã®ããã«æžãããšãã§ããŸãã
mvnã¯ãªãŒã³ã€ã³ã¹ããŒã«
Mavenã¯æåã«ãããžã§ã¯ãã®ã¿ãŒã²ãããã©ã«ããŒãã¯ãªã¢ãããããåéããŠãªããžããªã«é 眮ããŸãã
Mavenãæ©èœããããã®æå°éã®ã¢ã¯ã·ã§ã³ã»ãããæ€èšããŸããã次ã«ããããžã§ã¯ãã®äŸåé¢ä¿ã®ã«ã¹ã¿ãã€ãºãšè¿œå ã«é²ã¿ãŸãã
äŸåé¢ä¿ãšãªããžããª
ååãšããŠãæã人æ°ã®ããã©ã€ãã©ãªã¯äžå€®ãªããžããªã«ãããããpomãã¡ã€ã«ã®äŸåé¢ä¿ã»ã¯ã·ã§ã³ã«çŽæ¥æžã蟌ãããšãã§ããŸãã ããšãã°ãSpring Frameworkãæ¥ç¶ããã«ã¯ã次ã®äŸåé¢ä¿ãå®çŸ©ããå¿ èŠããããŸãã
<äŸåé¢ä¿> ... <äŸåæ§> <groupId> org.springframework </ groupId> <artifactId> spring </ artifactId> <ããŒãžã§ã³> 2.5.5 </ããŒãžã§ã³> </ dependency> </äŸåé¢ä¿>
ããŒãžã§ã³ãæå®ããå¿ èŠã¯ãããŸããããMavenã¯æåŸã®ãªãã·ã§ã³ãéžæããŸããããããžã§ã¯ããåã«ããæç¹ã§åéãåæ¢ããããå®å šã«äºæããååã«ãã¹ããããå Žæã«èœã¡å§ãããããã±ãŒã¹ãäœåºŠããã£ããããå人çã«ã¯ãããè¡ãããšããå§ãããŸã誰ãäœãå€ããŸããã
éåžžãç¹å®ã®ãã®ã¯äžå€®ãªããžããªã«ãªãããã補é å ã®ãªããžããªãæåã§æå®ããå¿ èŠããããŸãã ããšãã°ãJBoss RichFacesã®ajaxã³ã³ããŒãã³ãã«JSFãã¬ãŒã ã¯ãŒã¯ã®äŸåé¢ä¿ãè¿œå ããŸãã
äŸåé¢ä¿ãããããããã¹ãŠãç°¡åã§ãã
<äŸåé¢ä¿> <äŸåæ§> <groupId> org.richfaces.ui </ groupId> <artifactId> richfaces-ui </ artifactId> <ããŒãžã§ã³> 3.3.1.GA </ããŒãžã§ã³> </ dependency> </äŸåé¢ä¿>
ãã ããJBossãªããžããªã¯ãããŒã«ã«ãªããžããªã®ã«ãŒãã«ããsettings.xmlãã¡ã€ã«ãŸãã¯pom.xmlãã¡ã€ã«èªäœã®ããããã«ããã®ãªããžããªããã¹ãŠã®ãããžã§ã¯ãã§å¿ èŠãããŸãã¯ããããã§ãã³ã§ç»é²ããå¿ èŠããããŸãç¹å®ã®ãããããïŒ
<ïŒ-JBoss RichFacesãªããžããª-> <ãªããžããª> <ãªããžããª> <ãªãªãŒã¹> <enabled> true </ enabled> </ releases> <ã¹ãããã·ã§ãã> <enabled> false </ enabled> <updatePolicy>決ããŠ</ updatePolicy> </ snapshots> <id> repository.jboss.com </ id> <name> Mavenã®Jbossãªããžããª</ name> <url> http://repository.jboss.com/maven2/ </ url> <layout>ããã©ã«ã</ layout> </ repository> </ repositories>
ååãšããŠã倧èŠæš¡ãããžã§ã¯ãã®ãµã€ãã§ã¯ãã©ã€ãã©ãªãMavenããŒã¹ã®ãããžã§ã¯ãã«åã蟌ãããã«å¿ èŠãªãã¹ãŠã®æ å ±ãæžã蟌ãŸããŸãããéåžžã«é·ãéã¢ãŒãã£ãã¡ã¯ããæ¢ãå¿ èŠãããå ŽåããããŸãã ããã§ã¯ã MVNrepository.comãéåžžã«åœ¹ç«ã¡ãŸããåžžã«ãç®çã®ã©ã€ãã©ãªãã©ãã«ããããããããŸãã ããããããšãããããªãã£ããšããŠããç§èªèº«ã®çµéšãããã <library name> pom.xmlããã°ãŒã°ã«æ€çŽ¢ããããšããå§ãããŸãã éçºè ã¯ãã¯ãé åžãæ°ã«ããªãã®ã§ããããžã§ã¯ãã¯é·ãéæ¢ã«éããããŠããããªããžããªã«å ¥ããããªãããšãèµ·ãããŸãã ãã®åŸã1ã€ã®æ¹æ³ãæ®ã£ãŠããŸã-ã³ãã³ãã§ãã¡ã€ã«ããªããžããªã«æåã§è¿œå ããã«ã¯ïŒ
mvn installïŒã€ã³ã¹ããŒã«ãã¡ã€ã« -Dfile = <ãã¡ã€ã«ãžã®ãã¹> -DgroupId = <ã°ã«ãŒãID> -DartifactId = <artifact-id> -Dversion = <ããŒãžã§ã³> -Dpackaging = <ããã±ãŒãž>
ã»ãšãã©ã®å ŽåãæåŸã®ãã©ã¡ãŒã¿ãŒã«ã¯jarå€ããããŸãã
ãã©ã°ã€ã³
ãã©ã°ã€ã³ã¯äŸåé¢ä¿ãšåãææç©ã§ãããããã»ãŒåãæ¹æ³ã§èª¬æãããŸãã äŸåé¢ä¿ã»ã¯ã·ã§ã³ã®ä»£ããã«-ãã©ã°ã€ã³ãäŸåé¢ä¿-ãã©ã°ã€ã³ããªããžããª-pluginRepositoriesããªããžããª-pluginRepositoryã
ãã¹ãŠãMavenãã©ã°ã€ã³ã«ãã£ãŠè¡ãããŸããçŽæ¥éå§ããããã®ã§ã-ãããžã§ã¯ãã¢ã»ã³ããªãæ©èœãè¿œå ããããªãå Žåããã®ãã©ã°ã€ã³ã®ã¿ããããžã§ã¯ãããããã£ã§æå®ããå¿ èŠã¯ãããŸããã
WTPããŒãžã§ã³ã䜿çšããŠEclipseã®ãããžã§ã¯ããäœæããããã®ãã©ã°ã€ã³ã®æ§ææ¹æ³ãèŠãŠã¿ãŸãããã 2.0ã pom.xmlã®ãã©ã°ã€ã³ã»ã¯ã·ã§ã³ã§ã次ã®ãã©ã°ã€ã³ãèšè¿°ããŸãã
<ãã©ã°ã€ã³> <groupId> org.apache.maven.plugins </ groupId> <artifactId> maven-eclipse-plugin </ artifactId> <æ§æ> <wtpversion> 2.0 </ wtpversion> </æ§æ> </ plugin>
ããã§åã³ã³ãã³ãã©ã€ã³ã«è¡ããã³ãã³ããå®è¡ããŸã
mvn eclipseïŒæ¥é£
MavenããªããžããªãŒå ã®ãã¹ãŠã®ã©ã€ãã©ãªãŒãæ€åºããããããããããŠã³ããŒãããŠåºæ¥äžãããŸã§åŸ ã¡ãŸã-ããã§ãMavenãããžã§ã¯ããEclipseãããžã§ã¯ããšããŠéãããšãã§ããŸãã åæã«ãã©ã€ãã©ãªã¯åŸæ¥ã®ã¢ãããŒãã®ããã«ã©ãã«ãã³ããŒãããŸãããããªããžããªã«æ®ããEclipseã¯ãã®å€æ°ãä»ããŠã©ã€ãã©ãªãžã®åç §ãäœæããŸãã
ãã¹ãŠã®ãã©ã°ã€ã³ã®åäžã®ãªã¹ãã¯åœç¶ååšããŸããã å ¬åŒãµã€ãã«ã¯ãMavenéçºè ãçŽæ¥ãµããŒããããã©ã°ã€ã³ã®ã¿ããããŸãã ãã ãããã©ã°ã€ã³ã®ååã¯éåžžã«ç°¡åã§ãããããŒã¯ãŒããmaven tomcat pluginããæ€çŽ¢ãããšãæåã®ãªã³ã¯ãšããŠTomcatã«ãããžã§ã¯ãããããã€ãããã©ã°ã€ã³ãèŠã€ããå¯èœæ§ãé«ãããšã«æ³šæããŠãã ããã
ç¬èªã®ãªããžããª
æ®å¿µãªãããç§èªèº«ã¯ãªããžããªãèšå®ããçµéšã¯ããŸããããŸããããæãã·ã³ãã«ã§äžè¬çãªNexusãšããŠæšå¥šã§ããŸãã 詳现ã«ã€ããŠã¯ããã®ãããžã§ã¯ãã®Webãµã€ããåç §ããŠãã ããã
ãã ãã ArtifactoryãšArchivaã®äººç©ã«ãµãããã競åä»ç€Ÿãç¡èŠããããšã¯ã§ããŸããã
ãããã«
ãã®èšäºã®ç®æšãéæãããããšãæ¬åœã«é¡ã£ãŠããŸã-Mavenã®æäœéã®ç¥èã¯ãããã»ã©å€§ãããªããããžã§ã¯ãã§äœæ¥ããã«ã¯ååã§ããã¹ãã§ãã ããæ·±å»ãªç®çã®ããã«ãmaven-compiler-pluginãšmaven-resource-pluginã詳现ã«æ€èšããããšã匷ããå§ãããŸãããããã¯ãããžã§ã¯ãã®æçµã¬ã€ã¢ãŠããçŽæ¥æ åœããŸãã Mavenãæããäžã§æãéèŠãªãã€ã³ãã¯ã€ããªãã®ãŒãç解ããããšã ãšæããŸããMavenã¯Antãšã¯ç°ãªãããããžã§ã¯ãã®æçµçãªæ§é ã説æãããã®ã§ããããããžã§ã¯ããéæããããã®ãã¹ã§ã¯ãããŸããã
䟿å©ãªãªã³ã¯
Mavenå ¬åŒããŒãž
ããã¥ã¡ã³ã
äžå€®ãªããžããª
IBiblioãªããžããª
ååã§ææç©ãæ€çŽ¢ãã
Nice Mavenãã©ãŒã©ã
MavenïŒThe Definitive Guide -A Good Maven Book