idea中配置meaven,需要在起始页中进行配置。如果在项目中进行配置则只对当前项目有效。
aliyunmaven
*
阿里云公共仓库
https://maven.aliyun.com/repository/public
tencent
tencent maven mirror
https://mirrors.tencent.com/nexus/repository/maven-public/
*
默认使用jdk1.8
jdk-1.8
true
1.8
1.8
1.8
1.8
org.apache.tomcat.maven
tomcat7-maven-plugin
2.1
80
/
依赖具有传递性。
可选依赖指对外隐藏当前所依赖的资源——即不透明
junit
junit
4.12
true
排除依赖指主动断开依赖的资源,被排除的资源无需指定版本
junit
junit
4.12
org.hamcrest
hamcrest-core
依赖的jar默认情况可以在任何地方使用,可以通过scpoe
标签设定其作用范围
作用范围:
scope | 主代码 | 测试代码 | 打包 | 范例 |
---|---|---|---|---|
compile(默认) | Y | Y | Y | log4j |
test | Y | junit | ||
provided | Y | Y | servlet-api | |
runtime | Y | jdbc |
为了让构建过程自动化完成,Maven 设定了三个生命周期,生命周期中的每一个环节对应构建过程中的一个操作。
clean生命周期
site生命周期
default生命周期
正在上传…重新上传取消
插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能。一个插件可对应多个阶段。
可以通过插件自定义其他功能。
org.apache.maven.plugins
maven-source-plugin
2.2.1
jar
test-jar
generate-test-resources
聚合用于快速构建maven工程,一次性即可构建多个模块。
方法:创建一个空模块,打包类型定义为pom;然后定义当前模块进行构建操作时关联的其他模块名称。
pom
../ssm_controller
../ssm_service
../ssm_dao
../ssm_pojo
参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关。
通过继承可以实现在子工程中沿用父工程中的配置。
fun.it
ssm
1.0-SNAPSHOT
../ssm/pom.xml
继承依赖定义
在父工程中定义依赖管理
org.springframework
spring-context
5.1.9.RELEASE
继承依赖使用
在子工程中定义依赖关系,无需声明依赖版本,版本参照父工程中依赖的版本
org.springframework
spring-context
继承:用于快速配置
聚合:用于快速构建项目
相同点:
不同点:
自定义属性
自定义属性等同于定义变量,方便统一维护
5.1.9.RELEASE
4.12
org.springframework
spring-context
${spring.version}
内置属性
${basedir}/src/main/resources/lib/kingbasejdbc4.jar
${version}
Setting属性
使用Maven配置文件setting.xml中的标签属性,用于动态配置
${settings.localRepository}
Java系统属性
用于读取Java系统属性
$(user.home)
环境变量属性
使用Maven配置文件setting.xml中的标签属性,用于动态配置
${env.JAVA_HOME}
工程版本
正在上传…重新上传取消
使其可以在任意配置文件中加载pom文件中定义的属性
调用格式:${jdbc.url}
配置资源文件对应的信息:
${project.basedir}/src/main/resources
true
pro_env
jdbc:mysql://127.1.1.1:3306/ssm_db
true
dev_env
……
加载指定环境:
mvn install -P pro_env
mvn 指令 -D skipTests
执行的指令声明周期必须包含测试环节
正在上传…重新上传取消
maven-surefire-plugin
2.22.1
true
**/User*Test.java
**/User*TestCase.java
配置本地仓库访问私服的权限(setting.xml):
heima-release
admin
admin
heima-snapshots
admin
admin
配置本地仓库资源来源(setting.xml):
nexus-heima
*
http://localhost:8081/repository/maven-public/
配置当前项目访问私服上传资源的保存位置(pom.xml):
heima-release
http://localhost:8081/repository/heima-release/
heima-snapshots
http://localhost:8081/repository/heima-snapshots/