﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-The NoteBook of EricKong-随笔分类-Maven</title><link>http://www.blogjava.net/jjshcc/category/48354.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 10 Jun 2015 19:03:00 GMT</lastBuildDate><pubDate>Wed, 10 Jun 2015 19:03:00 GMT</pubDate><ttl>60</ttl><item><title>mvn archetype:generate</title><link>http://www.blogjava.net/jjshcc/archive/2015/06/10/425597.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Wed, 10 Jun 2015 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2015/06/10/425597.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/425597.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2015/06/10/425597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/425597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/425597.html</trackback:ping><description><![CDATA[<div>mvn archetype:generate -DgroupId=com.bestpay.support.gd -DartifactId=JBatchReward -DarchetypeArtifactId=maven-archetype-j2ee-simple</div><img src ="http://www.blogjava.net/jjshcc/aggbug/425597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2015-06-10 12:31 <a href="http://www.blogjava.net/jjshcc/archive/2015/06/10/425597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>maven2创建的archetypeArtifactId类型</title><link>http://www.blogjava.net/jjshcc/archive/2015/06/10/425593.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Wed, 10 Jun 2015 03:39:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2015/06/10/425593.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/425593.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2015/06/10/425593.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/425593.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/425593.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">看maven-definitive-guide到第五章了，发现maven可以创建不少类型的demo，只要输入：</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">mvn archetype:create就可以</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">不过，创建的同时需要archetypeArtifactId这个参数来识别，不过不太清楚有什么类型，只知道默认不填是maven-archetype-quickstart ，web是maven-archetype-webapp</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">发现有更简单的方法，只要输入mvn archetype:generate</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">就会将所有可用的类型显示，并且让你自己选，输出如下：</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">1: internal -&gt; appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">2: internal -&gt; appfuse-basic-spring (AppFuse archetype for creating a web application with Hibernate, Spring and Spring MVC)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">3: internal -&gt; appfuse-basic-struts (AppFuse archetype for creating a web application with Hibernate, Spring and Struts 2)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">4: internal -&gt; appfuse-basic-tapestry (AppFuse archetype for creating a web application with Hibernate, Spring and Tapestry 4)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">5: internal -&gt; appfuse-core (AppFuse archetype for creating a jar application with Hibernate and Spring and XFire)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">6: internal -&gt; appfuse-modular-jsf (AppFuse archetype for creating a modular application with Hibernate, Spring and JSF)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">7: internal -&gt; appfuse-modular-spring (AppFuse archetype for creating a modular application with Hibernate, Spring and Spring MVC)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">8: internal -&gt; appfuse-modular-struts (AppFuse archetype for creating a modular application with Hibernate, Spring and Struts 2)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">9: internal -&gt; appfuse-modular-tapestry (AppFuse archetype for creating a modular application with Hibernate, Spring and Tapestry 4)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">10: internal -&gt; maven-archetype-j2ee-simple (A simple J2EE Java application)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">11: internal -&gt; maven-archetype-marmalade-mojo (A Maven plugin development project using marmalade)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">12: internal -&gt; maven-archetype-mojo (A Maven Java plugin development project)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">13: internal -&gt; maven-archetype-portlet (A simple portlet application)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">14: internal -&gt; maven-archetype-profiles ()</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">15: internal -&gt; maven-archetype-quickstart ()</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">16: internal -&gt; maven-archetype-site-simple (A simple site generation project)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">17: internal -&gt; maven-archetype-site (A more complex site project)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">18: internal -&gt; maven-archetype-webapp (A simple Java web application)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">19: internal -&gt; struts2-archetype-starter (A starter Struts 2 application with Sitemesh, DWR, and Spring)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">20: internal -&gt; struts2-archetype-blank (A minimal Struts 2 application)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">21: internal -&gt; struts2-archetype-portlet (A minimal Struts 2 application that can be deployed as a portlet)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">22: internal -&gt; struts2-archetype-dbportlet (A starter Struts 2 portlet that demonstrates a simple CRUD interface with db backing)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">23: internal -&gt; struts2-archetype-plugin (A Struts 2 plugin)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">24: internal -&gt; shale-archetype-blank (A blank Shale web application with JSF)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">25: internal -&gt; maven-adf-archetype (Archetype to ease the burden of creating a new application based with ADF)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">26: internal -&gt; data-app (A new Databinder application with sources and resources.)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">27: internal -&gt; jini-service-archetype (Archetype for Jini service project creation)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">28: internal -&gt; softeu-archetype-seam (JSF+Facelets+Seam Archetype)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">29: internal -&gt; softeu-archetype-seam-simple (JSF+Facelets+Seam (no persistence) Archetype)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">30: internal -&gt; softeu-archetype-jsf (JSF+Facelets Archetype)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">31: internal -&gt; jpa-maven-archetype (JPA application)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">32: internal -&gt; spring-osgi-bundle-archetype (Spring-OSGi archetype)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">33: internal -&gt; confluence-plugin-archetype (Atlassian Confluence plugin archetype)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">34: internal -&gt; maven-archetype-har (Hibernate Archive)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">35: internal -&gt; maven-archetype-sar (JBoss Service Archive)</span><br style="margin: 0px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">36: internal -&gt; wicket-archetype-quickstart (A simple Apache Wicket project)</span><img src ="http://www.blogjava.net/jjshcc/aggbug/425593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2015-06-10 11:39 <a href="http://www.blogjava.net/jjshcc/archive/2015/06/10/425593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven中国镜像</title><link>http://www.blogjava.net/jjshcc/archive/2015/03/17/423548.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Tue, 17 Mar 2015 13:28:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2015/03/17/423548.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/423548.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2015/03/17/423548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/423548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/423548.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px;"><span style="font-size: large;">有段时间没用maven了，最近使用maven下载jar包时速度缓慢，最初以为是自己网速的问题，后来确定是访问maven的central repository端速度缓慢。在网上找到了一个maven repository的中国镜像，速度相当不错。特此收藏。</span></p>
<p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px;"><span style="font-size: large;"><br />&nbsp; &nbsp;&nbsp;</span></p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-size: 12px; line-height: 18px; font-family: 'Courier New' !important;">&lt;mirror&gt;

      &lt;id&gt;CN&lt;/id&gt;
      &lt;name&gt;OSChina Central&lt;/name&gt;                                                                                                                       
      &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">maven.oschina.net/content/groups/public/&lt;/url&gt;</span>
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;

    &lt;/mirror&gt;

========================================================<span style="margin: 0px; padding: 0px; line-height: 1.5;">

OSChina Maven 库使用帮助


</span>==================其他maven仓库镜像==========================

&lt;mirror&gt;  
      &lt;id&gt;repo2&lt;/id&gt;  
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  
      &lt;name&gt;Human Readable Name <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">for</span> <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">this</span> Mirror.&lt;/name&gt;  
      &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">repo2.maven.org/maven2/&lt;/url&gt;  </span>
&lt;/mirror&gt;  
&lt;mirror&gt;  
      &lt;id&gt;net-cn&lt;/id&gt;  
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  
      &lt;name&gt;Human Readable Name <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">for</span> <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">this</span> Mirror.&lt;/name&gt;  
      &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">maven.net.cn/content/groups/public/&lt;/url&gt;   </span>
&lt;/mirror&gt;  
&lt;mirror&gt;  
      &lt;id&gt;ui&lt;/id&gt;  
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  
      &lt;name&gt;Human Readable Name <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">for</span> <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">this</span> Mirror.&lt;/name&gt;  
     &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">uk.maven.org/maven2/&lt;/url&gt;  </span>
&lt;/mirror&gt;  
&lt;mirror&gt;  
      &lt;id&gt;ibiblio&lt;/id&gt;  
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  
      &lt;name&gt;Human Readable Name <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">for</span> <span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">this</span> Mirror.&lt;/name&gt;  
     &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">mirrors.ibiblio.org/pub/mirrors/maven2/&lt;/url&gt;  </span>
&lt;/mirror&gt;  
&lt;mirror&gt;  
      &lt;id&gt;jboss-<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">public</span>-repository-group&lt;/id&gt;  
      &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  
      &lt;name&gt;JBoss Public Repository Group&lt;/name&gt;  
     &lt;url&gt;http:<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">//</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">repository.jboss.org/nexus/content/groups/public&lt;/url&gt;  </span>
&lt;/mirror&gt;<br style="margin: 0px; padding: 0px;" /><br style="margin: 0px; padding: 0px;" /></pre><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-size: 12px; line-height: 18px; font-family: 'Courier New' !important;">&lt;mirror&gt;  
      &lt;id&gt;<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">JBossJBPM&lt;/id&gt; <br style="margin: 0px; padding: 0px;" />　　　　&lt;mirrorOf&gt;central&lt;/mirrorOf&gt; <br style="margin: 0px; padding: 0px;" />　　　　&lt;name&gt;JBossJBPM Repository&lt;/name&gt; <br style="margin: 0px; padding: 0px;" />　　　　&lt;url&gt;</span>https://repository.jboss.org/nexus/content/repositories/releases/<span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #008000;">&lt;/url&gt;<br style="margin: 0px; padding: 0px;" />&lt;/mirror&gt;</span></span></pre><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px;"><span style="font-size: large;"><br /></span></p><img src ="http://www.blogjava.net/jjshcc/aggbug/423548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2015-03-17 21:28 <a href="http://www.blogjava.net/jjshcc/archive/2015/03/17/423548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>创建maven的web项目，并用jetty调试</title><link>http://www.blogjava.net/jjshcc/archive/2014/12/02/420926.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Tue, 02 Dec 2014 08:37:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2014/12/02/420926.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/420926.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2014/12/02/420926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/420926.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/420926.html</trackback:ping><description><![CDATA[<span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">1、mvn archetype:create -DgroupId=org.david.app -DartifactId=mywebapp -DarchetypeArtifactId=maven-archetype-webapp</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">2、cd mywebapp</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp; mvn eclipse:eclipse</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp; 导入eclipse工程</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp; （或者直接从eclipse中导入maven工程）</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">3、添加servlet依赖</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependency&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;javax.servlet&lt;/groupId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;2.5&lt;/version&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp; &lt;/dependency&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">4、添加源代码目录src/main/java</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp; 将源代码放在该目录下。</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">5、添加jetty插件</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&lt;build&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp; &lt;finalName&gt;mywebapp&lt;/finalName&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp; &lt;plugins&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plugin&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;configuration&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;source&gt;1.5&lt;/source&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;target&gt;1.5&lt;/target&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/configuration&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/plugin&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plugin&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/plugin&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&nbsp;&nbsp; &lt;/plugins&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">&lt;/build&gt;</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">6、用jetty调试（http://www.blogjava.net/alwayscy/archive/2007/06/01/118584.html）</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">命令行：mvn jetty:run</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">或者</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">1、先来配置一个外部工具，来运行JETTY：</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">选择菜单Run-&gt;External Tools-&gt;External Tools ...在左边选择Program，再点New：</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">配置</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; color: red; background-color: #ffffff;">Location</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">为mvn完整命令行。定位到bin下的mvn.bat</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">选择</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; color: red; background-color: #ffffff;">Working Directory</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">为本项目。</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; color: red; background-color: #ffffff;">Arguments</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">填写：jetty:run</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">再点选Enviroment页：加入MAVEN_OPTS变量，值为：</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; color: red; background-color: #ffffff;">8080</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">,server=y,suspend=</span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; color: red; background-color: #ffffff;">y</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">其中，如果suspend=n 表示不调试，直接运行。address=8080为端口</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">然后，点APPLY，再关闭本对话框。</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">另外注意一点，好像external tool菜单项在java browering的perspective下才会出现。如果在java下看不见，可以切换下试试。</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">启动jetty</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">2、调试应用</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">点选run-&gt;debug...</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">选中左树中的Remote Java Application，再点New。</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">选择你的项目，关键是要填和之前设置外部工具时相同的端口号。</span><img src ="http://www.blogjava.net/jjshcc/aggbug/420926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2014-12-02 16:37 <a href="http://www.blogjava.net/jjshcc/archive/2014/12/02/420926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven的dependencyManagement</title><link>http://www.blogjava.net/jjshcc/archive/2011/07/08/353914.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Fri, 08 Jul 2011 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2011/07/08/353914.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/353914.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2011/07/08/353914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/353914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/353914.html</trackback:ping><description><![CDATA[<p>Maven在dependencyManagement元素中为你提供了一种方式来统一依赖版本号。你经常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素。使用pom.xml中的dependencyManagement元素能让你在子项目中引用一个依赖而不用显式的列出版本号。</p>
<p>Maven会沿着父子层次向上走，直到找到一个拥有dependencyManagement元素的项目，然后它就会使用在这个dependencyManagement元素中指定的版本号。</p>
<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">&lt;</span><span style="color: #800000">project</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">modelVersion</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">4.0.0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">modelVersion</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.sonatype.mavenbook</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">a-parent</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1.0.0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependencyManagement</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependencies</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">mysql</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">mysql-connector-java</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">5.1.2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependencies</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependencyManagement</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span></div>
<p><br /><br />然后，在子项目中，你可以使用如下的依赖XML添加一个对MySQL Java Connector的依赖：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">&lt;</span><span style="color: #800000">project</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">modelVersion</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">4.0.0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">modelVersion</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">parent</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.sonatype.mavenbook</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">a-parent</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1.0.0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">parent</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">project-a</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependencies</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">mysql</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">mysql-connector-java</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependencies</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">project</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span></div>
<p><br />如果mysql-connector-java在顶层父项目中被作为一个依赖列出，这个层次中的所有项目都将引用该依赖。使用dependencyManagement能让你统一并集中化依赖版本的管理，而不用添加那些会被所有子项目继承的依赖。</p><img src ="http://www.blogjava.net/jjshcc/aggbug/353914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2011-07-08 09:59 <a href="http://www.blogjava.net/jjshcc/archive/2011/07/08/353914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>maven中的scope配置</title><link>http://www.blogjava.net/jjshcc/archive/2011/07/05/353722.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Tue, 05 Jul 2011 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2011/07/05/353722.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/353722.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2011/07/05/353722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/353722.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/353722.html</trackback:ping><description><![CDATA[<p>我们在用maven和eclipse开发WEB应用的时候，需要把servlet-api和jsp-api加入进来，要不然编译不会通过，加入进来之后在打包的时候maven自动把所有的依赖包都放到lib下面，如果你在tomcat下面运行就会有问题，因为tomcat发现你的web应用的lib中包含了servlet-api，他会报错。</p>
<p>解决这个问题的方法就是使用&lt;scope&gt;标签，如下</p>
<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">javax.servlet</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">servlet-api</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">2.4</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">scope</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">provided</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">scope</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">javax.servlet</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">groupId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">jsp-api</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">artifactId</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">2.0</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">version</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">scope</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">provided</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">scope</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dependency</span><span style="color: #0000ff">&gt;</span></div>
<p><br />这里的意思是说，编译的时候用到servlet-api和jsp-api，但在打包的时候不用这两个依赖。</p>
<p>在maven的官方中是这样描述的</p>
<p><strong>Dependency Scope<br /></strong>Dependency scope is used to limit the transitivity of a depedency, and also to affect the classpath used for various build tasks.</p>
<p>There are 6 scopes available:</p>
<p><strong>compile<br /></strong>This is the default scope, used if none is specified. Compile dependencies are available in all classpaths of a project. Furthermore, those dependencies are propagated to dependent projects. <br /><strong>provided<br /></strong>This is much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime. For example, when building a web application for the Java Enterprise Edition, you would set the dependency on the Servlet API and related Java EE APIs to scope provided because the web container provides those classes. This scope is only available on the compilation and test classpath, and is not transitive. <br /><strong>runtime<br /></strong>This scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath. <br /><strong>test<br /></strong>This scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases. <br /><strong>system<br /></strong>This scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository. <br />import (only available in Maven 2.0.9 or later)<br />This scope is only used on a dependency of type pom in the &lt;dependencyManagement&gt; section. It indicates that the specified POM should be replaced with the dependencies in that POM's &lt;dependencyManagement&gt; section. Since they are replaced, dependencies with a scope of import do not actually participate in limiting the transitivity of a dependency. <br />如果你这样做了，但使用eclipse+tomcat做测试的时候发现servlet-api还是被打包到lib下面了，你要把maven插件中的WTP也安装一下，问题应该就解决了。<br /></p><img src ="http://www.blogjava.net/jjshcc/aggbug/353722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2011-07-05 17:01 <a href="http://www.blogjava.net/jjshcc/archive/2011/07/05/353722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven仓库的布局</title><link>http://www.blogjava.net/jjshcc/archive/2011/04/21/348691.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Thu, 21 Apr 2011 04:12:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2011/04/21/348691.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/348691.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2011/04/21/348691.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/348691.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/348691.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任何一个构件都有其唯一的坐标，根据这个坐标可以定义其在仓库中的唯一存储路径，这便是Maven的仓库布局方式。例如log4j:log4j:1.2.15这一依赖，其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar，细心的读者可以观察到，该路径与坐标的大致对应关系为groupId/artifactId/version/artifactId-version.packaging。下面看一段Maven的源码并结合具体的实例来理解Maven仓库的布局方式：</p>
<p>&nbsp;&nbsp;&nbsp; private static final char PATH_SEPARATOR = '/';</p>
<p>&nbsp;&nbsp;&nbsp; private static final char GROUP_SEPARATOR = '.';</p>
<p>&nbsp;&nbsp;&nbsp; private static final char ARTIFACT_SEPARATOR = '-';</p>
<p>&nbsp;&nbsp;&nbsp; public String pathOf( Artifact artifact )<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArtifactHandler artifactHandler = artifact.getArtifactHandler();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder path = new StringBuilder( 128 );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( artifact.getBaseVersion() ).append( PATH_SEPARATOR );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( artifact.hasClassifier() )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( artifactHandler.getExtension() != null &amp;&amp; artifactHandler.getExtension().length() &gt; 0 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return path.toString();<br />
}</p>
<p>&nbsp;&nbsp;&nbsp; private String formatAsDirectory( String directory )<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );<br />
&nbsp;&nbsp;&nbsp; }<br />
??</p>
<p>该pathOf()方法的目的是根据构件信息生成其在仓库中的路径。在阅读本段代码之前，读者可以先回顾一下上一章Maven坐标的相关内容。这里，我们根据一个实际的例子来分析路径的生成，考虑这样一个构件：groupId=org.testng、artifactId=testng、version=5.8、classifier=jdk15、packaging=jar，其对应的路径按如下步骤生成：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先基于构件的groupId准备路径，formatAsDirectory()将groupId中的句点分隔符转换成路径分隔符，该例中，groupId org.testng就会被转换成org/testng，之后再加一个路径分隔符斜杠，那么org.testng就成为了org/testng/。 <br />
基于构件的artifactId准备路径，也就是在前面的基础上加上artifactId以及一个路径分隔符，该例中的artifactId为testng，那么在这一步过后路径就成为了org/testng/testng/。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接着使用版本信息，在前面的基础上加上version和路径分隔符，该例中版本是5.8，那么路径就成为了org/testng/tesgng/5.8/。 <br />
这一步再依次加上artifactId，构件分隔符连字号，以及version，于是构建的路径就变成了org/testng/testng/5.8/testng-5.8。读者可能会注意到这里使用了artifactId.getVersion()，而上一步用的是artifactId.getBaseVersion()，version和baseVersion的区别在本章讨论SNAPSHOT的时候会具体阐述。 <br />
紧接着如果构件有classifier，就加上构件分隔符和classifier，该例中构件的classifier是jdk15，那么路径就变成org/testng/testng/5.8/testng-5.8-jdk5。 <br />
最后第检查构件的extension，若extension存在，则加上句点分隔符和extension，从代码中可以看到，extension是从artifactHandler而非artifact获取，artifactHandler是由项目的packaging决定的，因此可以说，packaging决定了构件的扩展名，该例的packaging是的jar，因此最终的路径为org/testng/testng/5.8/testng-5.8-jdk5.jar。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到这里笔者（包括读者你）都应该感谢Maven开源社区，正是由于Maven的所有源代码都是开放的，我们才能仔细得深入到其内部工作的所有细节。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于Maven仓库是基于简单文件系统存储的，现在我们又理解了其存储方式，因此当遇到一些与仓库相关的问题时，可以很方便的查找相关文件，方便定位问题。例如当Maven无法获得项目声明的依赖时，可以简单该依赖对应的文件在仓库中是否存在，如果不存在，是否有其它版本可用，等等。 </p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/jjshcc/aggbug/348691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2011-04-21 12:12 <a href="http://www.blogjava.net/jjshcc/archive/2011/04/21/348691.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>