`
卒子99
  • 浏览: 75236 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven使用心得

    博客分类:
  • Java
阅读更多
升级到Maven3
Maven3已经发布很久了,对以前的版本也做了很多兼容,但是如果直接升级maven2到maven3,但发 现打包失败。提示找不到parent库。
在maven2中,打 包依赖于reactor插件,可以这个打包过程最重要的就是找到其它工程的类,并加入到当前环境的classpath。
但我们的定义的父pom不会产生任何 的jar。所以没必要让子工程依赖于库。可以采用以下方式依赖于父pom,也强烈要求各个应用改成这种配置

    <parent>
        <artifactId>wirelesscrm-all</artifactId>
        <groupId>com.taobao.wirelesscrm</groupId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../../all/pom.xml</relativePath>
</parent>

增加一个relativePath,这样可以直接引用父pom.xml。已经证明在maven2上正常的运行的。
裁剪反应堆
以前经常开发的几个工程都 比较小,习惯性直接在应用根目录下mvn clean pakcage,速度也能接受。但 在wirelesscrm中每次打包都比较慢,(可以想像下经常开发galaxy中的童 鞋了。。。。)
但其实只需要编译wirelesscrm里minicms相关工程。每次需要等很长时间,真是坑爹啊。研究了下,其实发现我们的打包 方式有点不是很合理。

合理的打包步骤如下:
mav clean install   将所有的工程的 库都安装到本地。
mav clean install –pl  $YOUR_PROJECT 只打包改动过的代码。


install是将包安装到本地的maven库,而package只会打好包,将包放置于应用的target目录 下。所以如果只编译部分工程,采用package是无法找到依赖工程的包。
在默认情况下,Maven会根据多 模块配置构建所有的模块,Maven还会根据模块间的依赖关系自动计算构建顺序,以确保被依赖的模块会先得以构 建。
所以对于模块较多的应用如galaxy,wirelesscrm这样的工程,应该尽量只编译开发的模块,可以大大的节约时间。

常用的裁剪反应堆的 命令有:

mvn clean install -rf biz/minicms  表 示从该模块恢复,也就是说选择从哪里开始构建,等于剪掉了完整反应堆的前面一部分。
mvn clean install -pl biz/minicms   表示手动选择需要构建的项目,项目间以逗号分隔。
mvn clean install -pl biz/minicms –am表 示同时构建所列模块依赖的其他模块。
mvn clean install -pl security-model-xml/ -amd,表示同时构建那些依赖于所列模块的模块
  
   PS:在maven3中提到已经不用使用install也可以裁剪反应堆,并能正确运行。但试过很多次,还是不能成功,这块还需要 多了解下。
并行编译
Maven 3的性能较之于Maven 2是有了很大的进步的,这体现在内存占用的减少 和构建时间的减少两个方面。特别是Maven 3引入的并 行构建特性,能够分析项目模块之间的依赖关系,然后并行地构建那些相互间没有依赖关系 的模块,从而充分利用多核CPU资源。这个功能试用了一下,在打包方速度方面还是有明显优势。
先不添加 图了


在maven3下,mvn –T 1C clean install。 即根据CPU分配分配线程数。
分享到:
评论

相关推荐

    工作使用maven的心得

    菜鸟进入互联网大数据岗位,对基础的开发工具的使用做个人的使用心得总结

    maven工作使用的记录

    虽然描述部分没有提供具体信息,但提供的博客链接可能包含了更详细的Maven使用心得和技巧。通常,开发者会在博客中分享他们遇到的问题、解决方案,以及如何优化Maven构建过程的经验。例如,他们可能会讨论如何自定义...

    Maven视频资料及如何学习心得体会

    **五、学习Maven的心得体会** 1. **实践出真知**:理论学习后,一定要动手实践,通过构建项目来加深理解。 2. **善用资源**:利用官方文档、在线教程、社区问答,遇到问题及时寻求解答。 3. **持续更新**:Maven...

    Maven学习心得.doc

    《Maven学习心得》 Maven,作为Apache推出的一款强大的构建和工程管理工具,与ANT相比,具有显著的优势。本文将深入探讨Maven的核心特点、优势以及存在的问题,以供学习参考。 首先,Maven的一大亮点在于其对第三...

    Maven心得,简单介绍maven。

    【Maven 心得与详解】 Maven 是一个由 Apache 开发的 Java 项目管理工具,主要用于构建、依赖管理和项目信息管理。它以其强大的自动化构建能力、约定优于配置的原则、跨平台支持以及丰富的插件生态,深受广大开发者...

    maven学习视频资料和自己心得

    里面有一套详细的2018maven最新视频和资料,同时也附带其他技术的分享渠道,里面有我自己对学习maven和软件开发技术的心得体会。

    maven在eclipse中的学习心得

    ### Maven在Eclipse中的应用与学习心得 #### Maven概述 Maven是一款自动化构建工具,它通过一系列标准化的构建过程,简化了项目的构建流程。在Java开发领域,Maven的应用非常广泛,尤其在大型团队协作中,它能有效...

    maven使用自己资料

    该博文作者“liuzongan”分享了他在使用Maven过程中的经验和心得,旨在帮助开发者更好地理解和掌握这一工具。通过阅读这篇博客,你可以了解到Maven的基本概念,如POM(Project Object Model)配置文件,以及如何管理...

    maven 环境搭建总结

    #### 三、Maven心得 - **统一构建流程**:Maven提供了标准的构建生命周期,有助于维护项目的构建流程。 - **依赖管理**:Maven的依赖管理机制能够自动解决依赖冲突问题,减少手动处理依赖的时间。 - **多模块支持**...

    maven2使用笔记

    #### Maven2使用心得 ##### 1. pom.xml详解 `pom.xml`是Maven项目的中心配置文件,其中包含了项目的依赖、构建路径、构建目标等信息。一个典型的`pom.xml`文件包含以下部分: - **项目基本信息**:如groupId、...

    apache-maven-3.0.4

    描述"apache-maven-3.0.4 有需要的就下载,互相帮助,多多交流"表明这是一个分享资源的提示,鼓励用户在需要时下载并相互交流关于Maven 3.0.4的使用经验和心得。这体现了开源社区的精神,开发者们通过共享资源和经验...

    maven-3.6.1-3.6.2-tips.rar

    《 Maven 3.6.1与3.6.2版本的区别及使用心得 》 Maven,作为Java项目管理和构建工具,一直以来都是开发者们的重要助手。本文将详细探讨Maven的两个具体版本——3.6.1和3.6.2,以及在使用过程中可能遇到的问题和解决...

    SSM+maven+mysql实现登录注册功能

    本文将详细介绍如何使用这三个组件配合Maven和MySQL数据库来实现登录注册功能。 首先,Spring作为核心的IoC(Inversion of Control)容器,负责管理应用程序中的对象及其依赖关系。在登录注册系统中,Spring可以...

    Maven实战 高清 完整 pdf

    作者许晓斌在书中也分享了自己推广Maven的心得体会,以及Maven在国内传播过程中的个人经历和感受。 许晓斌认为Maven在国内推广初期面临的主要问题在于其陡峭的学习曲线和缺乏足够的中文文档。为了解决这一问题,他...

    maven权威指南

    总结构建过程和技术栈的使用心得。 **7.10.1 编写接口项目程序** 介绍如何使用Maven来组织和构建接口项目。 #### 八、优化和重构POM 后续章节将继续深入探讨如何优化和重构POM文件,进一步提升项目的构建效率和...

    ssm+maven+tomcat简单项目源码

    【SSM + Maven + Tomcat 简单项目源码详解】 该项目是一个基于Spring MVC、Maven和Tomcat的Web应用程序示例。SSM(Spring、SpringMVC、MyBatis)是Java后端开发中常用的三大框架组合,用于构建高效、灵活的企业级...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.1 Apache Tomcat各版本 1.2 Apache Tomcat Versions 1.3 Java事务处理总结 1.4 JavaBean中使用JDBC方式进行事务处理 ...1.23 JSF+Seam框架学习心得 1.24 java jdbc驱动的四种类型 1.25 resource-ref元素

    maven的部署、遇到的问题和心得体会

    NULL 博文链接:https://xianguiquan.iteye.com/blog/1506572

Global site tag (gtag.js) - Google Analytics