近期整理了下maven构建项目,pom.xml中的基本配置及说明,详情见下
<!--声明项目描述符遵循哪一个POM模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!--依赖的父模块-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.7.RELEASE</version>
</parent>
<!--项目的名称-->
<name>XXX</name>
<!--子模块 -->
<modules>
<module>XXX</module>
</modules>
<!-- 为pom定义一些常量 -->
<properties>
<!-- 指定jdk版本,源文件和编译后文件的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!--依赖的包-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!-- scope 说明
- compile :默认范围,用于编译
- provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
- runtime: 在执行时,需要使用
- test: 用于test任务时使用
- system: 需要外在提供相应得元素。通过systemPath来取得
- systemPath: 仅用于范围为system。提供相应的路径
- optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用
-->
<scope>test</scope>
</dependency>
</dependencies>
<!-- 指定如何构建当前的构建 -->
<build>
<!--指定了进行构建时使用的插件 -->
<plugins>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</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>2.7</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<!-- dev环境 -->
<id>dev</id>
<properties>
<!-- 被激活的profile的配置文件的目录 -->
<profiles.active>dev</profiles.active>
<!--<spring.profiles.active>dev</spring.profiles.active>-->
</properties>
<activation>
<!-- 设置默认激活这个配置 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- test环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- online环境 -->
<id>online</id>
<properties>
<profiles.active>online</profiles.active>
</properties>
</profile>
</profiles>
<!-- 用于配置分发管理,配置相应的产品发布信息,主要用于发布,在执行mvn deploy后表示要发布的位置
- releases:线上版本(生产环境使用的)
- snapshots:快照版本(开发过程中使用的)
-->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://XXX</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://XXX</url>
</snapshotRepository>
</distributionManagement>