pom文件配置

配置构建,jar,war,pom

:指定依赖作用范围
main test 打包运行
compile 1 1 1
provided 1 1 0
runtime 0 0 1
text 0 1 0

构建命令:
clean 清理
compile 编译
test 测试
site 报告
package 打包
install 运行
deploy 部署到私服
周期:
清理周期:clean
构建周期:compile test package install deploy
报告周期:site

配置引入依赖
构建配置,配置maven

解决打包和报告时jdk和maven版本不兼容问题:

//配置maven插件
//具体单个配置
org.apache.maven.plugins
maven-war-plugin
3.2.2


org.apache.maven.plugins
maven-site-plugin
3.9.1

    <resources>  //配置文件构建
        <resource>   //具体配置
            <directory>src/main/java</directory>   //指定目录
            <includes>   //选择文件
                <include>**/*.*</include>   //具体选择文件      
            </includes>
            <excludes>   //排除文件
                <exclude>**/*.java</exclude>  //具体排除文件
            </excludes>
        </resource>
    </resources>
    //将src/main/java下任意文件构建到项目中,排除.java文件
</build>

依赖传递:自动下载依赖的依赖,尽量使用依赖传递,1.保证依赖链的完整简化依赖导入,2.保证版本没冲突
传递终止:1.到了尽头,2.非compile依赖,3.依赖冲突(依赖重复)
依赖冲突:(依赖重复) 1.避免依赖重复,2.避免循环依赖
重复依赖选择:1.谁短谁优先,2.谁上谁优先,3.手动排除(排除后依然走前两个原则)

继承和聚合:
继承:语法:





只继承父工程pom文件









用于声明dependency版本,子工程用的时候不用写版本了
聚合:父工程中聚合了哪些工程



配置maven坐标
配置具体的maven坐标
具体坐标
指定项目类型
指定依赖作用(import为引入)
排除jar包依赖的jar包
具体排除jar包依赖的jar包
jar包坐标

compile 默认值,编译,运行,打包时都会引入依赖
provided 编译,测试,运行,但打包时不会引入依赖
runtime 编译时不会引入依赖,运行时会引入依赖
system 当依赖不是maven结构,不在maven体系中时,可以用system引入,但是会中断依赖传递
text 只在编译测试和运行测试时引入依赖

与dependencies标签作用相同,但不会引入依赖
可以自定义标签,标签名为key,值为value,外部用el表达式引用
项目继承标签,给定需要继承的父项目坐标
需要聚合的模块,聚合项目需要继承聚合点
具体聚合的模块

构建配置
pluginManagement中的插件不会被引入
配置插件信息
配置具体的插件信息,放入插件坐标

配置其他信息,例如jdk版本

配置jdk版本 配置编译器版本 配置编码格式 配置端口 配置路径

配置拷贝插件的读取位置
配置拷贝插件的读取位置的具体信息
指定需要拷贝的目录
指定需要拷贝的文件特征
指定具体需要拷贝的文件特征,如,**/*.xml 表示所以目录及子目录下的所有以xml为后缀的文件

配置上传时仓库信息
配置仓库信息
配置snapshost仓库信息
选择settings.xml中的server的id(选择一个server做为访问仓库的用户)
唯一名称
指定上传的具体仓库地址