maven
行者-traveller
这个人比较懒,什么都没有留
展开
-
学习笔记——Maven settings.xml 配置详解
文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置。${user.home} 和和所有其他系统属性只能在3.0+版本上使用。请注意windows和Linux使用变量的区别。 settings.xml详解 声明规范 http://maven.apa转载 2017-03-15 10:34:11 · 346 阅读 · 0 评论 -
学习笔记——Maven pom.xml配置详解
POM的全称是“ProjectObjectModel(项目对象模型)”。 pom.xml详解 声明规范 http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0h转载 2017-03-15 11:07:04 · 298 阅读 · 0 评论 -
学习笔记——Maven实战(十)Maven 3,是时候升级了
去年10月份Apache Maven发布了3.0正式版,而在上个月的22号,Eclipse基金会宣布了Eclipse 3.7(Indigo)的发布,该版本Eclipse最大的新特性之一就是集成了Maven。下载Eclipse IDE for Java Developers版本的用户会发现,Eclipse已经能够自动识别Maven项目了。Indigo中内置的Maven版本是3.0.2,这在一定程转载 2017-03-15 11:04:50 · 232 阅读 · 0 评论 -
学习笔记——Maven实战(九)打包的技巧
“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用。作为一款”打包工具“,Maven自然有义务帮助用户创建各种各样的包,规范的JAR包和WAR包自然转载 2017-03-15 11:00:14 · 313 阅读 · 0 评论 -
学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompi转载 2017-03-15 10:58:33 · 205 阅读 · 0 评论 -
学习笔记——Maven实战(七)常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile转载 2017-03-15 10:57:48 · 212 阅读 · 0 评论 -
学习笔记——Maven实战(六)Gradle,构建工具的未来?
Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外。虽然目前它基本上是Java构建的事实标准,但我们也能看到新兴的工具在涌现,比如基于Goovy的Gradle,而去年Hibernate宣布从Maven迁移至Gradle这一事件更是吸引了不少眼球。在此之前,我也听到了不少对Maven的抱怨,包括XM转载 2017-03-15 10:54:59 · 202 阅读 · 0 评论 -
学习笔记——Maven实战(五)自动化Web应用集成测试
自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成。我们希望持续集成能够尽早的暴露问题,但这远非配置一个 Hudson/Jenkins服务器那么简单,只有真正用心编写了较为完整的测试用例,并一直维护它们,持续集成才能孜孜不倦地运行测试并第一时间报告问转载 2017-03-15 10:53:51 · 331 阅读 · 0 评论 -
学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的《持续集成》 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章《持续集成》,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了10条实践,它们分别为: 只维护一个源码仓库 自动化构建 让构建自行测试 每人每天向主干提交代码 每次提交都应在持续集成机器上构建主干 保持快转载 2017-03-15 10:53:01 · 783 阅读 · 0 评论 -
学习笔记——Maven实战(三)多模块项目的POM重构
重复,还是重复 程序员应该有狗一般的嗅觉,要能嗅到重复这一最常见的坏味道,不管重复披着怎样的外衣,一旦发现,都应该毫不留情地彻底地将其干掉。不要因为POM不是产品代码而纵容重复在这里发酵,例如这样一段代码就有重复: org.springframework spring-beans 2.5 org.springframework spring-context转载 2017-03-15 10:52:07 · 247 阅读 · 0 评论 -
学习笔记——Maven实战(二)POM重构之增还是删
重构是广大开发者再熟悉不过的技术,在Martin Fowler的《重构——改善既有代码的设计》一书中,其定义为“重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行为前提下,提高其可理解性,降低其修改成本.”以及“重构(动词):使用一系列重构准则(手法),在不改变软件之可察行为前提下,调整其结构.”。重构能够改善软件设计,使代码更易读,更容易找出bug,并帮助你更快速地编码。较之于一转载 2017-03-15 10:46:59 · 281 阅读 · 0 评论 -
学习笔记——Maven实战(一)坐标规划
坐标是什么?为什么要规划? 坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件。举个最简单的例子,如果没有坐标,使用JUnit的时候,用户就需要去下载依赖jar包,用依赖的方式,简单配置使用如junit:junit:4.8.2就可以了。这里第一个junit是groupId,第二个junit是artifactId,4.8.2是转载 2017-03-15 10:44:06 · 264 阅读 · 0 评论 -
学习笔记——Maven 内置变量
Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录)${project.build.directory} 构建目录,缺省为target目录${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes${project.build.finalName} 产出物名称,缺省为${project.arti转载 2017-03-15 10:39:40 · 214 阅读 · 0 评论 -
学习笔记——Maven 命令行选项
说明: 1、使用-选项时,和后面的参数之间可以不要空格。而使用--选项时,和后面的参数之 间必须有空格。如下面的例子: $ mvn help:describe -Dcmd=compiler:compile $ mvn install --define maven.test.skip=true 2、有些命令行选项是从Maven2.1才有的。 3、更多命令行选项请查看mvn -h转载 2017-03-15 10:38:41 · 249 阅读 · 0 评论 -
学习笔记——Maven超级POM
2014-07-04:更新如何在安装程序中找到超级pom文件。 Maven有一个超级POM,所有的POM均继承此文件。 你可以使用解压工具打开jar文件$M2_HOME/lib/maven-model-builder-x.x.x.jar,然后访问路径org/apache/maven/model/pom-4.0.0.xom Ps: maven2中为org/apache/maven/project/p转载 2017-03-15 11:07:52 · 336 阅读 · 0 评论