一个Spring加载属性的工具类,指定目标位置之后可以用${}的方式加载配置文件 测试maven工程发送email的例子:运行成功的例子—github 常用的命令: mvn clean compile mvn clean test mvn clean package mvn clean install mvn archetype:generate  生成一个maven骨架,不用每次一个个目录新建 <maven实战>第五章65页左右,这部分先有个概念,对依赖的概念,之后如果项目中碰到依赖的问题再…
1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署,只需要输入简单命令即可(如mvn clean install). Maven不仅是构建工具,还是依赖管理工具和项目信息管理工具,通过提供中央仓库,自动帮我们下载构件(artifact). Remark:Maven依赖于JDK,安装Maven之前需要先安装JDK.Mav…
Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管理并且可以减少日后升级版本的工作量,降低错误发生的概率. 在POM文件中,可以通过${属性名称}的方式来引用属性. 在Maven中,存在6类属性,分别为: 1) 内置属性,主要有两个,分别为:${basedir}表示项目根目录,即POM文件所在的目录.${version}表示项目的版本. 2) PO…
Maven的聚合特性能够把项目的各个模块聚合在一起构建,而继承特性则能够帮助抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能促进各个模块配置的一致性. 5.1 聚合 Maven聚合也称多模块,能够一次构建多个模块.聚合模块本身是一个Maven项目,所以也有自己的POM文件,该POM文件的packaging为pom,并且含有<modules>和<module>元素,如: <project xmlns="http://maven.apache.org/POM/…
2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.classifier. groupId:定义当前Maven项目隶属的实际项目.不应该是组织或公司(一个公司有很多项目,每个项目有很多模块). artifactId:定义实际项目的一个Maven模块,推荐使用实际项目名称作为前缀. version:定义Maven项目当前所处的版本. packaging:定义Ma…
Maven的生命周期是对所有构建过程的抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有构建步骤. Maven的生命周期是抽象的,其实际行为是由插件来完成的,生命周期和插件两者协同合作,密不可分. 这种思想与设计模式中的模板方法非常相似.模板方法模式在父类定义算法的整体结构,子类通过实现或者重写父类的方法来控制实际行为,这样既能保证算法有足够的可扩展性,又能严格控制算法的整体结构. 4.1 生命周期 Maven拥有3套独立的生命周期:clean.de…
maven将一系列的步骤都封装为一系列的插件,运行命令后一系列的插件运行…
环境变量设置 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中可以直接用符号链接,当需要升级版本的…
7.1.资源排除 <resources> <!-- 启动过滤,包含的文件会被过滤掉 --> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>src/main/resources/dev/*.*</include> <include…
3.1 依赖的配置 一个依赖声明可以包含下面元素: <dependencies> <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope></scope> <optional></optional>…