`

maven系列笔记(安装、下载jar、搭建私服)

阅读更多

1,首先到http://maven.apache.org/download.html 下载合适的Maven版本,我下载的是Maven 2.0.9 (zip)。

2,解压文件到你想安装的目录,我的是F:\apache-maven-2.0.9。

3,在环境变量的用户变量中增加名为M2_HOME,值为F:\apache-maven-2.0.9的变量,注意在目录F:\apache-maven-2.0.9的最后不要加\,即不能为F:\apache-maven-2.0.9\。同时添加名为M2,值为%M2_HOME%\bin的环境变量。在环境变量path的值中加入%M2%.

4,控制台运行mvn -version,显示如下信息,则maven基本安装完成


一篇菜鸟级入门文章
http://fluagen.blog.51cto.com /146595/40086


资料参考:
http://maven.apache.org/guides/g ... n-five-minutes.html
http://maven.apache.org/guides/getting-started/index.html

 

 

maven配置参考

配置文件一般为settings.xml,在apache-maven-2.0.9中的路径为apache-maven-2.0.9\conf\settings.xml
下面是相关配置片段:

用于指定在本地仓储的路径(就是你打算存放jar包等资源的地方)

 

<localRepository>H:\nepo\apache-maven-2.0.9\m2_repo</localRepository>

 

 

用于配置代理,非必要情况下可以不设置

 <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
    </proxy>
  </proxies>

 

 

安全部署设置,对仓储中的资源的下载做出下载授权限制

  <servers>
    <server>
      <id>repo1</id>
      <username>repouser</username>
      <!-- other optional elements:
        <password>my_login_password</password>
        <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
        <passphrase>my_key_passphrase</passphrase>
      -->
    </server>
  ...
  </servers>

 

 

用于自定义一个仓储,而不使用互联网上的(可以使用这个建立一个公司共用的jar仓储,方便管理)

<mirror>
<!--This sends everything else to /public -->
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://192.168.1.165:8081/nexus/content/groups/public</url>
</mirror>

 

 

备注:
1:这是一个互联网仓储的镜像,可以选择一个作为自己的仓储镜像http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories

 

 

制作企业内部的maven私服

传奇私服大家应该都听过,一个网吧自己搞个私服,一伙人免费在上面砍杀。官方因此少赚了很多钱,因此总想打击。而 maven 官方却对自建私服很是支持,我们总算可以正正当当搞把私服了( Springside 的老大江南白衣就是创建私服的好手)。我们就来介绍下自建私服的最快方法。 

首先需要一个 http server ,找台服务器装上 apache 就行。放一个空的 maven 目录到 htdocs 下,假设服务器 ip 为 192.168.0.1 ,确认能用  http://192.168.0.1/maven   访问到。然后在自己机器上装好 maven2 ,初始化好项目(架构者应该会自行创建,普通开发员一般从服务区check out得到),在 pom.xml 放入需要的 jar 定义,运行如 mvn eclipse:eclipse(必须在项目路径下执行此命令 ) 就自动从官方下载 jar 到本地,如果不做配置,默认本地 repository 为 ${user.home}/.m2/ 。对于 windows xp 来说一般在 C:\Documents and Settings\ % username%\.m2 下,其中% username %为操作系统登录用户名。这时你可以看到 ${user.home}/.m2/ 下多了个 repository 目录,里面有很多的项目相关 jar ,目录按 groupId/ artifactId/version 排好。把 repository 目录整个拷贝到 apache 服务器的 maven 目录下,如果需要官方缺少的 jar 或公司内部 jar ,仿照这个目录结构,做好 jar 放到 maven 目录下。自建私服成功! 

要使用私服,只需修改 pom.xml ,在 repository 配置后加上:

 

<repository> 
      <id>companyName</id> 
      <url>http:// ${ip}/maven</url> 
</repository> 

 

 

这样需要下载 jar 时,会先到本地 repository 查看,没有下载过再到官方搜索,没有找到再到后面的 repository 查找。

做私服网上都推荐使用nexus,不过我没试过,大家有空可以试试

 

一些不错的中文参考文章:
http://www.wujianrong.com/archives/2006/12/maven_3.html
http://www.wujianrong.com/archives/2006/07/maven.html
http://www.wujianrong.com/archives/2006/12/maven20.html
http://www.wujianrong.com/archives/2006/12/_maven.html

 

 

如果仓储中不存在需要的包,可以自行下载并安装

现在,如何处理那些麻烦的Sun的jar包和那些需要但却不能在远程存储库中找到的jar包了?我们必须使用Maven来手动将这些jar包安装到本地的存储库中。不用担心,这没有听上去那么困难。为了做个示例,我们将安装Java Activation框架的jar包。首先我们必须从Sun的站点上下载此jar包,接着我们使用Maven将它导入本地的存储库中。您自己也可以按照 Maven上传资源指南中的指导将缺少的jar包安装到Ibiblio中。
mvn install:install-file -Dfile=activation.jar
-DgroupId=javax.activation -DartifactId=activation
-Dversion=1.0 -Dpackaging=jar
 例如我在本机上下在一个ant-1.6.5.jar,然后运行如下命令
h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar -DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar
 就会在本地仓储F:\Documents and Settings\Administrator\.m2\repository中出现如下文件F:\Documents and Settings\Administrator\.m2\repository\ant_project\ant\1.6.5\ant-1.6.5.jar

这样我们就可以在项目中使用仓储中的这个jar包了

maven命令补充说明

4.maven命令 

在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。 

Options:可选的参数。比如前面提到的-version , -h等。 

Goal(s): 表示maven构建的“目标”。比如前面的 

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 

其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。 

还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。 

Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。 

比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。 

maven定义的生命周期中主要的相位如下: 
validate: 验证项目是否正确以及相关信息是否可用。 
compile: 编译。 
test: 通过junit进行单元测试。 
package: 根据事先指定的格式(比如jar),进行打包。 
integration-test: 部署到运行环境中,准备进行集成测试。 
verify: 对包进行有效性性和质量检查。 
install: 安装到本地代码库。 
deploy: 在集成或发布环境,将包发布到远程代码库。 
在“默认”的生命周期之外,还有两个“阶段”: 

clean: 清除以前的构建物。 
site: 生成项目文档。 
阶段实际上是通过目标的组合实现的。 

5.组合命令 

可以通过对目标及相位的组合使得一个命令完成多个功能,比如: 

mvn clean dependency:copy-dependencies package 

相当于按顺序执行 

mvn clean 

mvn dependency:copy-dependencies 

mvn package 

到这里,对maven应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vc_asp/archive/2009/02/24/3931942.aspx

  • 大小: 7.5 KB
分享到:
评论
15 楼 hys_java 2011-07-23  
引用
14 楼 youngxu 2010-06-18  
学习先,一直项目都不大,没有搞这些,最近闲下来,学着点备用。
13 楼 sumaolin 2010-04-13  
没听说过,看看研究下
12 楼 kingxip 2010-04-13  
哎,别人能教会你多少呢?这种新技术无非就是去官网查资料而已,安装什么的压根就没必要。
去官网看看那个quickstrt at 10 min啥都清楚了。
11 楼 tracyhuyan 2010-04-13  
好文章,学习了
10 楼 shmily2038 2010-04-11  
<div class="quote_title">zhoulei984623 写道</div>
<div class="quote_div">
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">1,首先到<a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://maven.apache.org/download.html" target="_blank">http://maven.apache.org/download.html</a> 下载合适的Maven版本,我下载的是Maven 2.0.9 (zip)。<br style="line-height: normal;"><br style="line-height: normal;">2,解压文件到你想安装的目录,我的是F:\apache-maven-2.0.9。<br style="line-height: normal;"><br style="line-height: normal;">3,在环境变量的用户变量中增加名为M2_HOME,值为F:\apache-maven-2.0.9的变量,注意在目录F:\apache-maven-2.0.9的最后不要加\,即不能为F:\apache-maven-2.0.9\。同时添加名为M2,值为%M2_HOME%\bin的环境变量。在环境变量path的值中加入%M2%.<br style="line-height: normal;"><br style="line-height: normal;">4,控制台运行mvn -version,显示如下信息,则maven基本安装完成</span> </span></p>
<p><br><img src="http://dl.iteye.com/upload/attachment/224011/a5607138-6549-3603-80f1-3bf25ece0534.jpg" alt=""></p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;"><strong style="text-align: left; font-style: normal; line-height: normal; font-weight: bold;"><span style="color: #0000ff; line-height: normal;">一篇菜鸟级入门文章</span> </strong><br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://fluagen.blog.51cto.com/146595/40086" target="_blank">http://fluagen.blog.51cto.<span class="t_tag" style="border-bottom: 1px solid #ff0000; line-height: normal; cursor: pointer; white-space: nowrap;">com</span> /146595/40086</a> <br style="line-height: normal;"><br style="line-height: normal;"><br style="line-height: normal;"><strong style="text-align: left; font-style: normal; line-height: normal; font-weight: bold;"><span style="color: #0000ff; line-height: normal;">资料参考:</span> </strong><br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html" target="_blank">http://maven.apache.org/guides/g ... n-five-minutes.html</a> <br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://maven.apache.org/guides/getting-started/index.html" target="_blank">http://maven.apache.org/guides/getting-started/index.html</a> </span></span></p>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 12px; color: #444444; line-height: 19px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">
<h2 style="margin: 8px 0px; padding: 0px; font-size: 1.17em; line-height: normal;">maven配置参考</h2>
<div class="t_msgfontfix" style="line-height: normal;">
<table style="border-collapse: collapse; line-height: normal; width: 760px; margin-left: 1px;" border="0" cellspacing="0" cellpadding="0"><tbody style="line-height: normal;"><tr style="line-height: normal;">
<td id="postmessage_1639" class="t_msgfont">
<p>配置文件一般为settings.xml,在apache-maven-2.0.9中的路径为apache-maven-2.0.9\conf\settings.xml<br style="line-height: normal;">下面是相关配置片段:<br style="line-height: normal;"><br style="line-height: normal;">用于指定在本地仓储的路径(就是你打算存放jar包等资源的地方)</p>
<p> </p>
&lt;localRepository&gt;H:\nepo\apache-maven-2.0.9\m2_repo&lt;/localRepository&gt;
<pre></pre>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">用于配置代理,非必要情况下可以不设置</span> </span></p>
&lt;proxies&gt;    &lt;proxy&gt;       &lt;active&gt;true&lt;/active&gt;       &lt;protocol&gt;http&lt;/protocol&gt;       &lt;host&gt;proxy.somewhere.com&lt;/host&gt;       &lt;port&gt;8080&lt;/port&gt;       &lt;username&gt;proxyuser&lt;/username&gt;       &lt;password&gt;somepassword&lt;/password&gt;       &lt;nonProxyHosts&gt;www.google.com|*.somewhere.com&lt;/nonProxyHosts&gt;     &lt;/proxy&gt;   &lt;/proxies&gt;
<pre></pre>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">安全部署设置,对仓储中的资源的下载做出下载授权限制</span> </span></p>
  &lt;servers&gt;     &lt;server&gt;       &lt;id&gt;repo1&lt;/id&gt;       &lt;username&gt;repouser&lt;/username&gt;       &lt;!-- other optional elements:         &lt;password&gt;my_login_password&lt;/password&gt;         &lt;privateKey&gt;/path/to/identity&lt;/privateKey&gt; (default is ~/.ssh/id_dsa)         &lt;passphrase&gt;my_key_passphrase&lt;/passphrase&gt;       --&gt;     &lt;/server&gt;   ...   &lt;/servers&gt;
<pre></pre>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">用于自定义一个仓储,而不使用互联网上的(可以使用这个建立一个公司共用的jar仓储,方便管理)</span> </span></p>
&lt;mirror&gt; &lt;!--This sends everything else to /public --&gt;         &lt;id&gt;nexus&lt;/id&gt;         &lt;mirrorOf&gt;*&lt;/mirrorOf&gt;         &lt;url&gt;http://192.168.1.165:8081/nexus/content/groups/public&lt;/url&gt; &lt;/mirror&gt;
<pre></pre>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">备注:<br style="line-height: normal;">1:这是一个互联网仓储的镜像,可以选择一个作为自己的仓储镜像<a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories" target="_blank">http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories</a> </span></span></p>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 12px; color: #444444; line-height: 19px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">
<h2 style="margin: 8px 0px; padding: 0px; font-size: 1.17em; line-height: normal;">制作企业内部的maven私服</h2>
<div class="t_msgfontfix" style="line-height: normal;">
<table style="border-collapse: collapse; line-height: normal; width: 760px; margin-left: 1px;" border="0" cellspacing="0" cellpadding="0"><tbody style="line-height: normal;"><tr style="line-height: normal;">
<td id="postmessage_1641" class="t_msgfont">
<p>传奇私服大家应该都听过,一个网吧自己搞个私服,一伙人免费在上面砍杀。官方因此少赚了很多钱,因此总想打击。而 maven 官方却对自建私服很是支持,我们总算可以正正当当搞把私服了( Springside 的老大江南白衣就是创建私服的好手)。我们就来介绍下自建私服的最快方法。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">首先需要一个 http server ,找台服务器装上 apache 就行。放一个空的 maven 目录到 htdocs 下,假设服务器 ip 为 192.168.0.1 ,确认能用<span class="Apple-converted-space"> </span> <a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://192.168.0.1/maven" target="_blank">http://192.168.0.1/maven</a> <span class="Apple-converted-space"> </span> 访问到。然后在自己机器上装好 maven2 ,初始化好项目(架构者应该会自行创建,普通开发员一般从服务区check out得到),在 pom.xml 放入需要的 jar 定义,运行如 mvn eclipse:eclipse(<strong style="text-align: left; font-style: normal; line-height: normal; font-weight: bold;">必须在项目路径下执行此命令</strong> ) 就自动从官方下载 jar 到本地,如果不做配置,默认本地 repository 为 ${user.home}/.m2/ 。对于 windows xp 来说一般在 C:\Documents and Settings\ % username%\.m2 下,其中% username %为操作系统登录用户名。这时你可以看到 ${user.home}/.m2/ 下多了个 repository 目录,里面有很多的项目相关 jar ,目录按 groupId/ artifactId/version 排好。把 repository 目录整个拷贝到 apache 服务器的 maven 目录下,如果需要官方缺少的 jar 或公司内部 jar ,仿照这个目录结构,做好 jar 放到 maven 目录下。自建私服成功!<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">要使用私服,只需修改 pom.xml ,在 repository 配置后加上:</p>
<p> </p>
&lt;repository&gt;       &lt;id&gt;companyName&lt;/id&gt;       &lt;url&gt;http:// ${ip}/maven&lt;/url&gt; &lt;/repository&gt;
<pre></pre>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">这样需要下载 jar 时,会先到本地 repository 查看,没有下载过再到官方搜索,没有找到再到后面的 repository 查找。<br style="line-height: normal;"><br style="line-height: normal;"><strong style="text-align: left; font-style: normal; line-height: normal; font-weight: bold;">做私服网上都推荐使用nexus,不过我没试过,大家有空可以试试</strong> </span></span></p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">一些不错的中文参考文章:<br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://www.wujianrong.com/archives/2006/12/maven_3.html" target="_blank">http://www.wujianrong.com/archives/2006/12/maven_3.html</a> <br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://www.wujianrong.com/archives/2006/07/maven.html" target="_blank">http://www.wujianrong.com/archives/2006/07/maven.html</a> <br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://www.wujianrong.com/archives/2006/12/maven20.html" target="_blank">http://www.wujianrong.com/archives/2006/12/maven20.html</a> <br style="line-height: normal;"><a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://www.wujianrong.com/archives/2006/12/_maven.html" target="_blank">http://www.wujianrong.com/archives/2006/12/_maven.html</a> </span></span></p>
<p> </p>
<p> </p>
<p><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 12px; color: #444444; line-height: 19px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">
<h2 style="margin: 8px 0px; padding: 0px; font-size: 1.17em; line-height: normal;">如果仓储中不存在需要的包,可以自行下载并安装</h2>
<div class="t_msgfontfix" style="line-height: normal;">
<table style="border-collapse: collapse; line-height: normal; width: 760px; margin-left: 1px;" border="0" cellspacing="0" cellpadding="0"><tbody style="line-height: normal;"><tr style="line-height: normal;">
<td id="postmessage_1645" class="t_msgfont">现在,如何处理那些麻烦的Sun的jar包和那些需要但却不能在远程存储库中找到的jar包了?我们必须使用Maven来手动将这些jar包安装到本地的存储库中。不用担心,这没有听上去那么困难。为了做个示例,我们将安装Java Activation框架的jar包。首先我们必须从Sun的站点上下载此jar包,接着我们使用Maven将它导入本地的存储库中。您自己也可以按照 Maven上传资源指南中的指导将缺少的jar包安装到Ibiblio中。</td>
</tr></tbody></table>
</div>
<div class="t_msgfontfix" style="line-height: normal;">mvn install:install-file -Dfile=activation.jar -DgroupId=javax.activation -DartifactId=activation -Dversion=1.0 -Dpackaging=jar
<pre></pre>
</div>
<div class="t_msgfontfix" style="line-height: normal;"> <span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">例如我在本机上下在一个ant-1.6.5.jar,然后运行如下命令</span> </span>
</div>
<div class="t_msgfontfix" style="line-height: normal;">h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar -DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar
<pre></pre>
</div>
<div class="t_msgfontfix" style="line-height: normal;"> <span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 14px; color: #444444; line-height: 22px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">就会在本地仓储F:\Documents and Settings\Administrator\.m2\repository中出现如下文件F:\Documents and Settings\Administrator\.m2\repository\ant_project\ant\1.6.5\ant-1.6.5.jar<br style="line-height: normal;"><br style="line-height: normal;">这样我们就可以在项目中使用仓储中的这个jar包了</span> </span>
</div>
<div class="t_msgfontfix" style="line-height: normal;"><span class="Apple-style-span" style="font: medium 'Times New Roman'; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate;"><span class="Apple-style-span" style="font-size: 12px; color: #444444; line-height: 19px; font-family: Verdana,Helvetica,Arial,sans-serif; border-collapse: collapse; text-align: left;">
<h2 style="margin: 8px 0px; padding: 0px; font-size: 1.17em; line-height: normal;">maven命令补充说明</h2>
<div class="t_msgfontfix" style="line-height: normal;">
<table style="border-collapse: collapse; line-height: normal; width: 760px; margin-left: 1px;" border="0" cellspacing="0" cellpadding="0"><tbody style="line-height: normal;"><tr style="line-height: normal;">
<td id="postmessage_1648" class="t_msgfont">4.maven命令<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [&lt;goal(s)&gt;] [&lt;phase(s)&gt;]表明了mvn命令的构成。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">Options:可选的参数。比如前面提到的-version , -h等。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">Goal(s): 表示maven构建的“目标”。比如前面的<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">maven定义的生命周期中主要的相位如下:<span class="Apple-converted-space"> </span> <br style="line-height: normal;">validate: 验证项目是否正确以及相关信息是否可用。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">compile: 编译。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">test: 通过junit进行单元测试。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">package: 根据事先指定的格式(比如jar),进行打包。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">integration-test: 部署到运行环境中,准备进行集成测试。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">verify: 对包进行有效性性和质量检查。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">install: 安装到本地代码库。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">deploy: 在集成或发布环境,将包发布到远程代码库。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">在“默认”的生命周期之外,还有两个“阶段”:<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">clean: 清除以前的构建物。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">site: 生成项目文档。<span class="Apple-converted-space"> </span> <br style="line-height: normal;">阶段实际上是通过目标的组合实现的。<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">5.组合命令<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">可以通过对目标及相位的组合使得一个命令完成多个功能,比如:<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">mvn clean dependency:copy-dependencies package<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">相当于按顺序执行<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">mvn clean<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">mvn dependency:copy-dependencies<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">mvn package<span class="Apple-converted-space"> </span> <br style="line-height: normal;"><br style="line-height: normal;">到这里,对maven应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。<br style="line-height: normal;"><br style="line-height: normal;"><br style="line-height: normal;">本文来自CSDN博客,转载请标明出处:<a style="text-decoration: none; color: #cc3366; line-height: normal;" href="http://blog.csdn.net/vc_asp/archive/2009/02/24/3931942.aspx" target="_blank">http://blog.csdn.net/vc_asp/archive/2009/02/24/3931942.aspx</a> </td>
</tr></tbody></table>
</div>
</span></span></div>
</span></span></p>
</td>
</tr></tbody></table>
</div>
</span></span></p>
</td>
</tr></tbody></table>
</div>
</span></span></p>
</div>
<p> </p>
9 楼 rrsy23 2010-04-11  
什么项目用MAVEN很关键

05年一直用这个

如今很少用了


一般项目 没有必要
8 楼 love_ai87 2010-04-09  
感觉maven官网上的文档好简单,哪位兄台知道详细点的文档的~
7 楼 tss0823 2010-04-07  
说的很通俗,易懂。好东西!
6 楼 juvenshun 2010-04-06  
我博客有大量maven相关的文章
5 楼 conanca 2010-04-06  
收下了,正打算学习一下maven
4 楼 kjj 2010-04-04  
我正在学maven,的确方便了,多,特别统一了依赖库管理,再不用每个项目都到处去找依赖库了,而且依赖之间的依赖也好管理,现在用maven发布,就是不知道webapp怎么修改了源文件后比如jsp,立刻生效,还在学习中..................
3 楼 eyejava 2010-04-03  
用maven,nexus/artifactory这类私服是必选的, 不然没法团队推广, 这样用maven意义也不大
2 楼 JackAndroid 2010-04-03  
<p>   非常感谢,正要好好出血下</p>
1 楼 黑暗浪子 2010-04-02  
very good~~

相关推荐

    maven系列笔记(安装下载jar搭建私服)

    maven系列笔记(安装、下载jar、搭建私服)

    黑马maven笔记,第一天

    ### 黑马Maven笔记详解 #### Maven简介与特点 Maven是一款强大的项目管理和构建工具,作为Apache基金会下的一个开源项目,它完全采用Java语言编写,主要用于管理Java项目。Maven通过标准化项目构建过程和依赖管理...

    Maven初学笔记

    ### Maven初学笔记 #### Maven概述 **Apache Maven** 是一款功能强大的软件项目管理和综合工具。它基于项目对象模型(Project Object Model, POM)的概念,能够从一个中心信息源管理项目的构建、报告以及文档。这...

    从零开始学maven,maven学习笔记

    在IDE如Eclipse中,可以通过安装Maven插件,然后选择“New -&gt; Maven Project”来创建Maven项目。 总的来说,Maven通过其依赖管理和标准化的构建流程,极大地简化了Java项目开发的复杂性,提高了团队协作效率,使得...

    maven window下安装包

    第9章:使用Nexus创建私服/9.5 配置MAVEN从Nexus下载构件/9.5.2 setting.xml方式(适合所有项目) 第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 ...

    Maven笔记.doc

    Maven 详解 Maven 是一个项目管理工具,包含了一个项目对象模型(Project Object Model,就是 POM...注意,更改中央仓库镜像:有些 jar 包由于版权原因,Maven 中央仓库镜像可能不能下载,需要更改中央仓库镜像地址。

    web27_maven基础-课堂笔记.md

    - Maven 的构建过程遵循一系列预定义的阶段,称为生命周期。 - **常见生命周期**: - **clean**:清理项目。 - **default**:构建项目。 - **site**:生成项目文档网站。 2. **插件** - **定义**:扩展 Maven...

    Maven笔记1

    【Maven笔记1】 Maven是一个由Apache软件基金会开发的开源项目管理工具,它完全用Java语言编写,专为管理Java项目的构建、报告和依赖关系而设计。Maven通过使用一种标准化的项目对象模型(Project Object Model,...

    尚硅谷学习笔记+代码,Maven 教程

    安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库 部署 部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上 部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat...

    《Maven in Action》读书笔记(最全版,DIY)

    ### Maven in Action 读书笔记知识点概述 #### 1. Maven简介 - **Maven作为构建工具的优势**:Maven的设计理念在于最小化构建过程中的重复性工作,它通过抽象出通用的构建生命周期,并为常见的构建任务提供现成的...

Global site tag (gtag.js) - Google Analytics