MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <!-- 使用插件依然可以指定相应的依赖…
MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所有文件 post-clean 执行清理后的工作 compile validate generate-sources process-sources generate-resources process-sources process-resources 复制并处理资源文件,至目标目录,准备打包 co…
1.下载地址http://maven.apache.org/download.html 2.windows下安装maven(1)下载 apache-maven-3.0-bin.zip 解压到任意目录下 如 D:\maven\apache-maven-3.0 (2)设置系统环境变量:变量名为 MVN_HOME,变量值为 Maven 安装目录 D:\maven\apache-maven-3.0. 点击确定,接着在系统变量中找到一个名为 Path 的变量,在变量值的末尾加上%MVN_HOME%\bin…
在windows上安装Maven 1.检查JDK安装:在CMD下运行以下命令来检查JAVA安装情况: 命令: C:\Documents and Settings\Administrator>echo %JAVA_HOME% (回车) 结果: D:\ProgramData\02Kit\jdk1.6.0_35 命令: C:\Documents and Settings\Administrator>java -version(回车) 结果: java version "1.6.0_35&q…
Maven简介: Maven 可翻译为:知识的积累,也可以翻译为"专家"或"内行". Maven 是一个跨平台的项目管理工具,是Apache组织中一个很成功的开源项目. Maven 主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 为什么使用Maven? Maven 并不是唯一的构建管理工具,还有IDE,Make,Ant 1.IDE依赖大量的手工操作,并且由于个人喜好等关系,很难统一项目中所有IDE的配置 2.使用MAKE很难实现跨平台(书中说的,我没…
一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-maven-3.3.9 二 配置maven 环境变量 系统变量:MAVEN_HOME = D:\Development\apache-maven-3.3.9 系统变量:path = %MAVEN_HOME%\bin 相信大家都有配过环境变量的,详细步骤就不说了,对着把属性名和属性值配上就OK了. 打开 cm…
① 手工构建自己的maven项目 Maven 项目的核心是 pom.xml.POM (Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等. 你需要提前知道一些Maven 的约定: 1.在项目的根目录中放置 pom.xml 2.在 src/main/java 目录中放置项目的主代码 3.在 src/test/java 中放置项目的测试代码 假设我们有个项目叫helloworld,我们需要把他构建成为一个maven工程 步骤一:在任意…
上次读书笔记中,提到了依赖传递.看着依赖传递表,一直在思考为什么会是这样. 先看传递表: compile test provided runtime compile test provided runtime compile test provided runtime - - - - - - - - runtime test provided runtime (最左边一列表示第一依赖范围,最上边一行表示第二依赖范围) 需要详细理解的知识点: 1.首先看看scope的作用:scope是用来排除多余…
Maven的概念 Maven是基于项目对象模型(POM,Project Object Model),可以通过描述信息来管理项目的构建,报告和文档的软件管理工具 Maven除了以程序构建能力为特色之外,还提供了高级项目管理工具. Maven的安装 官网下载Maven压缩版,解压到任意目录 配置Maven的环境变量:MAVEN_HOME,及MAVEN安装的根目录 配置path环境变量,maven下的bin目录路径:%MAVEN_HOME%\bin 要使用maven要确保jdk已经正确安装 Maven…
Maven是我们在做Java开发过程中用经常用到的一个辅助工具.本篇博客是我学习Maven的一个记录博客,学习过程主要参考<Maven实战>这本书.同时也参考了Maven的官方文档. 1. Maven简介 1.1 什么是Maven Maven是一个开源的Java项目构建.依赖管理和项目信息管理工具. 1.2 何为构建 所谓构建是指项目编译.运行单元测试.生成项目文档.打包和项目部署等一系列操作. 1.3 Maven的优点 Maven是一个优秀的构建工具:帮我们规范了项目的构建过程,我们不在需要…
为什么要用远程仓库(私服) 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,这样就加大了中央仓库的负载和浪费了外网的带宽,如果网速慢的话还会影响项目的进程.为团队创建私服,可以让公司的团队共享一套构件,加快了项目搭建的进程.所以我们选择用Nexus创建私服. Nexus下载 下载地址:http://www.sonatype.org/nexus/go Nexus安装 (1)解压 $ tar zx…
目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project Object Model)有一个基本的理解 目前不准备深入学习maven故此使用工具ideaj 来帮助学习, 用idea创建一个默认的maven工程,结构如下: 使用idea自带的工具运行maven命令的时候可能会遇到异常: -Dmaven.multiModuleProjectDirectory sy…
<Maven实战>徐晓斌 2011 机械工业出版社   一.介绍 1.名词 artifact:插件 极限编程XP 2.构建脚本: maven——pom.xml(Project Object Model) ant——build.xml 其基本结构是目标(target).依赖(depends),以及实现目标的任务. 3.maven vs ant Ant是过程式的,开发者显示指定每一个目标,以及完成该目标所需要执行的任务. Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现. 4…
重构是广大开发者再熟悉不过的技术,在Martin Fowler的<重构——改善既有代码的设计>一书中,其定义为“重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行为前提下,提高其可理解性,降低其修改成本.”以及“重构(动词):使用一系列重构准则(手法),在不改变软件之可察行为前提下,调整其结构.”.重构能够改善软件设计,使代码更易读,更容易找出bug,并帮助你更快速地编码.较之于一般的代码来说,Maven的POM简单很多,不过随着项目的成长,模块的增多,POM的内容也会变多,这…
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了10条实践,它们分别为: 只维护一个源码仓库 自动化构建 让构建自行测试 每人每天向主干提交代码 每次提交都应在持续集成机器上构建主干 保持快速的构建 在模拟生产环境中测试 让每个人都能轻易获得最新的可执行文件 每个人都能看到进度 自动化部署 原始文章距今已10年有余,…
Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们也能看到新兴的工具在涌现,比如基于Goovy的Gradle,而去年Hibernate宣布从Maven迁移至Gradle这一事件更是吸引了不少眼球.在此之前,我也听到了不少对Maven的抱怨,包括XML的繁冗,不够灵活,学习曲线陡峭等等.那Gradle是否能够在继承 Maven优点的基础上,克服这些缺…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Maven插…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave…
去年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,这在一定程度上说明Maven 3已经非常稳定了.不过我相信一定还有很多Maven 2用户在犹豫是否升级,本文会介绍…
一个Spring加载属性的工具类,指定目标位置之后可以用${}的方式加载配置文件 测试maven工程发送email的例子:运行成功的例子—github 常用的命令: mvn clean compile mvn clean test mvn clean package mvn clean install mvn archetype:generate  生成一个maven骨架,不用每次一个个目录新建 <maven实战>第五章65页左右,这部分先有个概念,对依赖的概念,之后如果项目中碰到依赖的问题再…
一.灵活构建的意义 一个优秀的构建系统必须足够灵活,它应该能够让项目在不同的环境下都能成功地构建.例如,典型的项目都会有开发环境.测试环境和产品环境,这些环境的数据库配置不尽相同,那么项目构建的时候就需要能够识别所在的环境并使用正确的配置. 还有一种常见的情况是,项目开发了大量的集成测试,这此测试运行起来非常耗时,不适合在每次构建项目的时候都运行.因此需要一种手段能让我们在特定的时候才激活这些集成测试. Maven为了支持构建的灵活性,内置了三大特性,即属性.Profile和资源过滤.   二.…
参照<maven实战>在本地创建对应的基本项目helloworld,在本地完成后项目结构如下: 可以看到maven项目的骨架:src/main/java(javaz主代码)src/test/java(测试代码)src/main/resuources(非java资源文件)pom.xml maven相关执行命令 mvn clean compile -->mvn clean test -->mvn clean package -->mvn clean install 首先cmd切换…
刚入职公司用maven进行项目管理,于是昨天下午开始看<maven实战>的pdf,感觉很好,作者写的很有条理. 下面是笔记,看书做笔记还是很有必要的,加强自己的总结. 什么是maven? MAVEN 是一个构建工具还是一个依赖管理工具和项目信息管理工具.它提供了中央仓库,能帮我们自动下载构件. MAVEN 是用来管理项目的,清理.编译.测试.打包.发布,以及一些自定义的过程本身就是一件复杂的事情,所以MAVEN并不简单. MAVEN本身是分模块开发的 ,我们就看到了类似这种项目目录,可以理解为…
自动化集成测试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及具体实践,我们都知道,自动化测试是持续集成必不可少的一部分,基本上,没有自动化测试的持续集成,都很难称之为真正的持续集成.我们希望持续集成能够尽早的暴露问题,但这远非配置一个 Hudson/Jenkins服务器那么简单,只有真正用心编写了较为完整的测试用例,并一直维护它们,持续集成才能孜孜不倦地运行测试并第一时间报告问题. 自动化测试这个话题很大,本文不想争论测试先行还是后行,这里强调的是测试的自动化,并基于具体的技术…
说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工程,点击next 2.第二步,使用默认值,点击next 3.选择 maven-archetype-quickstart, 点击next 4.第4步,如图,点击finish 到这里maven工程就建完了 建 好的工程如图:(这个图和上面的面有些不一样,下面的图是以前建 的工程,这里偷懒了) 说明一下工…
第一章:Maven简介 1:Maven:Maven原本的单词意思为"知识的积累",谷歌翻译为"行家",而作为Apache的开源项目,Maven是一个主要服务于基于Java平台项目的构建,依赖管理和项目信息管理的跨平台的项目管理工具. 第二章:Maven配置 2:Maven安装成功成功后,会有两处可以配置Maven的地方,一个是Maven安装目录下的apache-maven-3.5.2/conf/setting.xml 一个是~/.m2/setting.xml .修改…
maven是什么 maven是 构建工具 依赖关系工具 项目信息管理工具 而JAVA世界的ant只是一个构建工具,不具备依赖管理的功能,需要配合使用ivy进行依赖管理. maven的安装 下载maven,配置环境变量.升级的技巧:使用符号链接,环境变量指向符号链接,升级的时候修改符号链接即可. maven使用入门 手动搭建maven项目 编写pom 编写主代码和测试代码 使用ArcheType创建maven项目骨架 命令如下mvn archetype:generate实际上上述命令的完整格式是:…
环境变量设置 MAVEN_HOME:G:\maven-3.2\apache-maven-3.2.5 Path: G:\maven-3.2\apache-maven-3.2.5\bin 其实正确的设置应该是 : path:%GRADLE_HOME%\bin 这样将path配置成动态,不用每次修改对不对. 小想法:另外用windows开发是不是low爆了???我也想换,不过用着不顺手罢了.等以后再说吧. 升级maven的时候直接改变环境变量的指向即可 linux中可以直接用符号链接,当需要升级版本的…
2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.classifier. groupId:定义当前Maven项目隶属的实际项目.不应该是组织或公司(一个公司有很多项目,每个项目有很多模块). artifactId:定义实际项目的一个Maven模块,推荐使用实际项目名称作为前缀. version:定义Maven项目当前所处的版本. packaging:定义Ma…
1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署,只需要输入简单命令即可(如mvn clean install). Maven不仅是构建工具,还是依赖管理工具和项目信息管理工具,通过提供中央仓库,自动帮我们下载构件(artifact). Remark:Maven依赖于JDK,安装Maven之前需要先安装JDK.Mav…