🌟个人博客:www.hellocode.top🌟
⭐所有文章均在上方博客首发,其他平台同步更新
🔥本文专栏:《流行框架》
🌞如没有JavaWEB基础,请先前往《Java Web从入门到实战》专栏学习相应知识
⚡如有问题,欢迎指正,一起学习~~
分模块开发
制作方式
创建一个空模块,打包类型定义为pom
定义当前模块进行构建操作时关联的其他模块名称
<modules>
<module>../ssm_pojomodule>
<module>../ssm_daomodule>
<module>../ssm_servicemodule>
<module>../ssm_controllermodule>
modules>
参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关
制作方式
在子工程中声明其父工程坐标与对应的位置
<parent>
<groupId>top.hellocodegroupId>
<artifactId>ssmartifactId>
<version>1.0-SNAPSHOTversion>
<relativePath>../ssm/pom.xmlrelativePath>
parent>
在父工程中定义依赖管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>5.1.9.RELEASEversion>
dependency>
dependencies>
dependencyManagement>
在子工程中定义依赖关系,无需声明依赖版本,版本参照父工程中依赖的版本
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
dependency>
dependencies>
继承的资源
插件可以使用
管理继承
继承与聚合
属性类别
自定义属性
定义格式
<properties>
<spring.version>5.1.9.RELEASEspring.version>
<junit.version>4.12junit.version>
properties>
调用格式
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>${spring.version}version>
dependency>
内置属性
作用:使用maven内置属性,快速配置
调用格式
${basedir}
${version}
Setting属性
作用:使用Maven配置文件setting.xml中的标签属性,用于动态配置
调用格式
${settings.localRepository}
Java系统属性
${user.home}
mvn help:system
工程版本
工程版本号约定
约定规范
范例
配置文件引用pom属性
作用:在任意配置文件中加载pom文件中定义的属性
调用格式
${jdbc.url}
开启配置文件加载pom属性
<resources>
<resource>
<directory>${project.basedir}/src/main/resourcesdirectory>
<filtering>truefiltering>
resource>
resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resourcesdirectory>
<filtering>truefiltering>
testResource>
testResources>
${project.basedir}类似于通配符,代表工程中每个模块目录
开启配置文件加载pom属性后,就可以在配置文件中调用
标签中定义的属性值
上述标签是需要写在pom文件中的
标签内
<profiles>
<profile>
<id>pro_envid>
<properties>
<jdbc.url>jdbc:mysql://1.1.1.1/springmvc_ssmjdbc.url>
properties>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
profile>
<profile>
<id>dev_envid>
<properties>
<jdbc.url>jdbc:mysql://2.2.2.2/springmvc_ssmjdbc.url>
properties>
profile>
...
profiles>
加载指定环境
mvn 指令 -P 环境定义id
mvn install -P pro_env
这部分了解即可
跳过测试环节的应用场景
三种方式跳过测试
使用命令跳过测试
mvn 指令 -D skipTests
使用界面操作跳过测试
使用配置跳过测试
<plugin>
<groupId>org.apache.mavengroupId>
<artifactId>maven-surefire-pluginartifactId>
<version>2.22.1version>
<configuration>
<skipTests>trueskipTests>
<includes>
<include>**/Student*Test.javainclude>
includes>
<excludes>
<exclude>exclude>
excludes>
configuration>
plugin>
Nexus
启动与配置
nexus.exe /run nexus
http://localhost:8081
宿主仓库hosted
配置本地仓库访问私服的权限(setting.xml)
<servers>
<server>
<id>hellocode-snapshotid>
<username>adminusername>
<password>lh18391794828password>
server>
<server>
<id>hellocode-releaseid>
<username>adminusername>
<password>lh18391794828password>
server>
servers>
配置本地仓库资源来源(setting.xml)
<mirrors>
<mirror>
<id>nexus-hellocodeid>
<mirrorOf>*mirrorOf>
<url>http://localhost:8081/repository/maven-public/url>
mirror>
mirrors>
项目工程访问私服
配置当前项目访问私服上传资源的保存位置(pom.xml)
<distributionManagement>
<repository>
<id>hellocode-releaseid>
<url>http://localhost:8081/repository/hellocode-release/url>
repository>
<snapshotRepository>
<id>hellocode-snapshotid>
<url>http://localhost:8081/repository/hellocode-snapshot/url>
snapshotRepository>
distributionManagement>
发布资源到私服命令
mvn deploy