【Maven】了解

简介: 【Maven】了解

一、是什么?    

Maven项目对象模型(POM),是可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。    


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


二、常用命令


mvn archetype:create创建Maven项目


  mvn compile 编译源代码


  mvn deploy 发布项目


  mvn test-compile 编译测试源代码


  mvn test 运行应用程序中的单元测试


  mvn site 生成项目相关信息的网站


  mvn clean 清除项目目录中的生成结果


  mvn package 根据项目生成的jar


  mvn install在本地Repository中安装jar


  mvn eclipse:eclipse生成eclipse项目文件


  mvnjetty:run 启动jetty服务


  mvntomcat:run 启动tomcat服务


  mvn clean package-Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类


三、为什么使用?


目前项目中存在的问题:


1.jar包混乱:工程中存在jar包重复,版本不一致的情况.



2.添加jar包随意:需要用到第三方jar时,随便下载就添加到项目中了,没有记录



3.重复构建:每个开发人员从svn下载完代码后,都要对项目进行配置,构建.



4.不同环境的构建差异:总是存在在开发环境运行良好的程序,到了测试环境编译不通过,或者不同环境的配置文件不一致,需要手动的去修改



5.模块间的开发依赖纯手动处理:提倡模块化的开发,可是怎么做好模块化开发之间的依赖处理,没有解决方案.


   通常,一个JavaEE项目所依赖的jar包会有很多。然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题。选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容。所以,在过去的构建项目过程中,整理出这么一堆能让项目正常运行的jar包之后,这个lib目录就会变为禁区。jar包版本更新了,我们也很少会自找麻烦去触碰它。至于是不是存在冗余的jar包?能正常运行就好了嘛。。。。


   Maven的出现,解决了开发过程中的这一难题。它可以对项目依赖的jar包进行管理,可以让你的项目保持基本的依赖,排除冗余jar包,并且可以让你非常轻松的对依赖的jar包进行版本升级。而这些仅仅是Maven最基本的功能,它可以在这基础上对项目进行清理、编译、测试、打包、发布等等构建项目的工作。


推荐阅读:


http://www.cnblogs.com/j2eeDevelper/archive/2016/02/25/5216781.html









相关文章
|
数据可视化 Java 项目管理
|
5月前
|
Java Maven 开发工具
Maven 特点
Maven是一个强大的Java项目管理工具,其特点包括:遵循统一规范的项目设置,支持跨工程共享;具备自动更新依赖的功能,并拥有庞大的库资源;可扩展,允许用户编写Java或脚本插件;几乎无需额外配置即可使用新功能;基于模型的构建系统,能自动生成JAR、WAR等格式的输出;能创建一致性项目站点,包含标准报告和自定义文档;支持发布管理和源代码管理集成;具有向后兼容性,方便旧版本迁移;子项目能继承父项目的依赖;并行构建提升编译效率;提供改进的错误报告,链接到详细解释页面。
|
Java 数据库连接 Maven
Maven介绍
Maven介绍
92 0
|
6月前
|
存储 Java 关系型数据库
|
Java 测试技术 Maven
maven总结
maven总结
43 0
|
Java Apache 项目管理
maven
Maven 是一个流行的 Java 项目管理工具,它可以帮助开发人员管理项目依赖、构建项目、运行测试、打包和部署项目等。Maven 的主要功能包括:
216 2
|
存储 Java 程序员
Maven详解
Maven详解
329 0
|
Java 应用服务中间件 Maven
关于Maven,你真的了解它吗?(上)
关于Maven,你真的了解它吗?(上)
|
Java Maven Android开发
eclipsp整合maven
eclipsp整合maven
127 0
eclipsp整合maven
|
存储 安全 IDE
maven你必须要掌握的
《基础系列》
161 0