<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- maven的版本号,maven2,3对应的都是4.0.0. -->
<modelVersion>4.0.0</modelVersion>
<!-- 关于文件目录安装约定:src/main/java(源代码)src/main/resource(资源文件)src/test/java(测试代码)-->
<!-- 建议公司+项目 -->
<groupId>cn.boyxie.springboot</groupId>
<!-- 建议项目+模块 -->
<artifactId>maven-test</artifactId>
<!-- 注释用 -->
<name>test maven</name>
<!-- 版本号, SNAPSHOT为快照,值不稳定版本-->
<version>1.0-SNAPSHOT</version>
<!-- 聚合打包值必须我pom,多模块一起打包 -->
<packaging>pom</packaging>
<!-- 子模块 -->
<modules>
<module>modules/mavenTest-rest</module>
<module>modules/mavenTest-sdk</module>
</modules>
<!-- 抽取统一属性 -->
<properties>
<maven-javadoc-plugin.version>2.9.1</maven-javadoc-plugin.version>
<maven-jar-plugin.version>2.6</maven-jar-plugin.version>
<maven-compiler-plugin.version>2.1</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
<skipTests>true</skipTests>
<swagger.version>1.5.21</swagger.version>
<springfox-swagger.version>2.9.2</springfox-swagger.version>
<swagger-bootstrap-ui.version>1.9.3</swagger-bootstrap-ui.version>
<fastjson.version>1.2.56</fastjson.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<!-- 父模块的pom绝对路径 -->
<relativePath/>
</parent>
<!-- mvn dependencies:list或者tree或者analyze 可查询依赖详情 -->
<!-- 依赖原则:路径最近者优先,第一声明者优先 -->
<!-- 子pom完全继承的依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.9.0.RELEASE</version>
<!-- 默认jar-->
<type>jar</type>
<!-- 编译,测试,运行3中环境 默认compile ,还有test,provide(对运行无效,列如servlet),runtime(对编译无效),
system(与systemPath联合使用)-->
<scope>compile</scope>
<systemPath>${basedir}/src/api</systemPath>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 排除依赖 -->
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<!--子pom选择性继承的依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.geely.markting</groupId>
<artifactId>app-auth-service-sdk</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR1</version>
<!-- 下面两个一起使用,指导入该pom 声明的 dependencyManagement的依赖 -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 文档插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<skip>true</skip>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
</configuration>
</plugin>
<!-- 打包插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<!-- 指定编译版本号 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 测试插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<!-- 配置需要的测试类 -->
<incloudes>
<incloude></incloude>
</incloudes>
<excludes>
<exclude></exclude>
</excludes>
<!-- 设置成true在使用maven打包发布时不做junit测试 -->
<skip>${skipTests}</skip>
</configuration>
</plugin>
</plugins>
<!-- 作用于 dependencyManagement类似 -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.53</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<!-- 指定下载的仓库 -->
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!-- 指定要发布的仓库 -->
<distributionManagement>
<repository>
<id>central</id>
<name>Maven Central</name>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<snapshotRepository>
<id>central</id>
<name>Maven Central</name>
<url>http://repo1.maven.org/maven2/</url>
</snapshotRepository>
</distributionManagement>
<!-- 配置在setting.xml文件中,匹配上面的仓库id -->
<servers>
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>s3cret</password>
</server>
</servers>
</project>
maven实战pom文件详解
最新推荐文章于 2023-11-02 10:43:00 发布