2024年 4月
1234567
891011121314
15161718192021
22232425262728
2930  

近期发布

近期评论

    2024 年 4 月 25 日

    Neusofts

    科技改变生活,创新引领未来

    项目构建及管理工具 —— Maven

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
    目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。


    Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
    Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

    Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

    此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

     

    标准目录结构:

    src
    -main
    –bin 脚本库
    –java java源代码文件
    –resources 资源库,会自动复制到classes目录里
    –filters 资源过滤文件
    –assembly 组件的描述配置(如何打包)
    –config 配置文件
    –webapp web应用的目录。WEB-INF、css、js等
    -test
    –java 单元测试java源代码文件
    –resources 测试需要用的资源库
    –filters 测试资源过滤库
    -site Site(一些文档)
    target
    LICENSE.txt Project’s license
    README.txt Project’s readme

    工程根目录下就只有src和target两个目录

    target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。

    target里的所有内容都是maven构建的时候生成的,详见此链接

     

    相关资料:

    http://www.ibm.com/developerworks/cn/java/j-maven/ 项目管理: Maven 让事情变得简单

    http://maven.apache.org/download.cgi 下载

    http://www.9aixuexi.com/view-216811-1.html 环境配置

    http://juvenshun.iteye.com/blog/213959 生命周期详解