免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1365 | 回复: 0
打印 上一主题 下一主题

Maven2.09 学习 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-21 22:05 |只看该作者 |倒序浏览

                1。maven是作什么的?
Maven is a software project management and comprehension tool. Based on the concept of a project object model
        (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
2。
POM的内容:

4.0.0
com.mycompany.app
my-app
jar
1.0-SNAPSHOT
my-app
http://maven.apache.org
  
     
      junit
      junit
      3.8.1
      test
     
  

  
3。命令
创建项目
在命令行中执行以下(Maven 把它叫作goal)命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你是首次运行该(goal)命令,maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库(什么是本地仓库?先放着,稍后再作介绍)。你也许要执行很多次上面的命令才能成功,因为远程服务器有时可能连接不上或者超时。
命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,你将发现以下标准的项目结构:
D:\\MY-APP
│ pom.xml

└─src
    ├─main
    │ └─java
    │      └─com
    │          └─mycompany
    │              └─app
    │                      App.java
    │
    └─test
        └─java
            └─com
                └─mycompany
                    └─app
                            AppTest.java
  
其中,src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)
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: 生成项目文档。

               
阶段实际上是通过目标的组合实现的。
               
4.组合命令
               
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
               
相当于按顺序执行
               
mvn clean
               
mvn dependency:copy-dependencies
               
mvn package
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/63150/showart_1087997.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP