pom.xml文件设置
一个相对完整的maven配置文件
<?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"> <!--pom版本-->
<modelVersion>4.0.</modelVersion> <!--项目坐标-->
<groupId>cn.itcast.account.mvnbook</groupId>
<artifactId>account</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <!--聚合模块-->
<modules>
<module>accounte-mail</module>
<module>account-api</module>
</modules> <!--参数管理-->
<properties>
<spring.version>5.1..RELEASE</spring.version>
<mybatis.version>3.5.</mybatis.version>
<mybatis-spring.version>2.0.</mybatis-spring.version>
<mail.version>1.4.</mail.version>
<greenmail.version>1.5.</greenmail.version>
<junit.version>4.12</junit.version>
<maven-compile-plugin.version>3.8.</maven-compile-plugin.version>
<jdk.version>1.8</jdk.version>
</properties> <!--仓库管理,即去哪个远程仓库下载依赖-->
<repositories>
<!--正式版本-->
<repository>
<id>releases</id>
<url>http://</url>
</repository>
<!--快照版本-->
<repository>
<id>snapshots</id>
<url>http://</url>
</repository>
</repositories> <!--部署管理,即将项目作为构件部署到哪个远程仓库-->
<distributionManagement>
<!--正式版本-->
<repository>
<id>releases</id>
<url>http://</url>
</repository>
<!--快照版本-->
<snapshotRepository>
<id>snapshots</id>
<url>http://</url>
</snapshotRepository>
</distributionManagement> <!--依赖管理,子模块可以选择性继承-->
<dependencyManagement>
<dependencies>
<!--spring starts-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring ends-->
<!--mybatis starts-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
<!--mybatis ends-->
<!--mail starts-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail</artifactId>
<version>${greenmail.version}</version>
<scope>test</scope>
</dependency>
<!--mail ends-->
<!--test starts-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!--test ends-->
</dependencies>
</dependencyManagement> <!--项目构建管理-->
<build>
<!--插件管理,子模块可以选择性继承-->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compile-plugin.version}</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build> </project>
其中,repositories标签的作用是设置远程仓库。Maven项目需要构件(例如jar包)时,会首先去本地仓库中查找。如果本地仓库中不存在,会去远程仓库下载。如果这里不配置repositories,由于所有的pom文件都继承自超级POM,会默认去中央仓库中下载,效率比较低。为了提高效率,在repositories标签中设置私服,当本地仓库中不存在某个构件时,Maven会首先从私服中获取。如果私服中依然不存在,再从外部的远程仓库(例如中央仓库)下载,缓存在私服,供以后局域网用户使用。注意,如果私服设置了权限验证,需要在Maven的setting.xml文件中设置权限校验的参数。
<servers>
<!--id必须与pom文件中的repositories标签中设置的一致-->
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
modules标签的作用是声明要聚合的模块,在该目录了下执行mvn命令,会一次性执行这里声明的所有被聚合的模块。需要注意的是其子标签module的值应该是目录名称,但通常与被聚合的模块的artifactId一致。
distributionManagement标签的作用是设置项目部署位置,即maven clean deploy命令将项目以构件(例如jar、war、pom等)的形式部署到哪个私服。如果不设置,maven clean deploy命令将无法使用,即无法将项目推送到远程仓库。
dependencyManagement标签的作用是声明项目用到的所有依赖,统一管理依赖的版本等。子模块可以选择性继承这里声明的依赖,只需要设置groupId和artifactId即可,version和scope属性会继承父模块声明的。
pluginManagement标签跟dependencyManagement类似,子模块也可以选择性继承这里声明的插件。
pom.xml文件设置的更多相关文章
- 如何在maven pom.xml文件中设置Java编译器版本
今天遇到一个问题: 在Eclipse中用maven创建一个新的web项目,然后再用maven update一下,则JDK版本自动变为1.5. 通过查找资料,终于发现maven编译器插件(Maven C ...
- 史上最全的maven的pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Maven项目pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- [maven] pom.xml 文件详解
参考资料: http://blog.csdn.net/uohzoaix/article/details/7035307 http://www.cnblogs.com/qq78292959/p/3711 ...
- Maven中pom.xml文件的配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Maven pom.xml文件详解
Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...
- maven的pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- maven的pom.xml文件的标签详解
该博文引至:https://www.cnblogs.com/hafiz/p/5360195.html <project xmlns="http://maven.apache.org/P ...
随机推荐
- Text Autosizer&&解决移动端网页文本字体怪异增大问题
在做移动端页面时,有时你设置了字体大小,有的部分即使设置了行内样式也不生效,而有些显示正常,这个特性就是Text Autosizer在搞鬼. 以下是解决方案: ①给元素设置 -webkit-text- ...
- ExtensionlessUrlHandler-Integrated-4.0
window 10 锁定webconfig解决方案 解决办法: 出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改.要取消锁定可以以管理 ...
- webpack自定义loader和自定义插件
1.封装自定义的功能loader (格式很简单,重点在于loader-utils,loaderUitls.getOptions可获取webpack配置rules中的options以供使用 ) 这只是一 ...
- react 从商品详情页返回到商品列表页,列表自动滚动上次浏览的位置
现状:目前从商品详情页返回到商品列表页,还需要再去请求服务数据,还需要用户再去等待获取数据的过程,这样用户体验非常不好, 遇到的问题: 1:如何将数据缓存, 2:如何获取和保存列表滑动的高度, 3:判 ...
- ab压测
安装:yum install -y httpd-tools 验证:ab -V ab -help:-n requests 要执行请求总数,默认会执行一个请求 -c concurrency 一次执行多个请 ...
- Java第三阶段复习
Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给 ...
- 搭建jumperserver堡垒机管理万台服务器-1
搭建jumperserver堡垒机管理万台服务器-1 1 Jumpserver堡垒机概述-部署Jumpserver运行环境 2 安装Coco组件 3 安装Web-Terminal前端-Luna组 ...
- visual studio中配置opencv
第1步附加包含目录:H:\software\programming\opencv\opencv\build\include 第2步附加库目录:H:\software\programming\openc ...
- git分支管理与tag的学习笔记
git分支管理学习笔记:创建dev分支:git branch dev查看分支:git branch切换分支:git checkout dev创建并切换分支:git checkout dev -b zh ...
- RetentionPolicy.SOURCE注解应用
Lombok原理分析: https://www.jianshu.com/p/fc06578e805a