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 ...
随机推荐
- letsencrypt 免费SSL证书申请, 自动更新
Let's Encrypt 泛域名 证书申请 及自动更新 关键字:SSL证书.HTTPS 初次申请 1. 下载certbot wget https://dl.eff.org/certbot-auto ...
- TMS320F28335——SCI串口
一.IO配置 以SCIA为例:使用的是GPIO35--SCITXDA GPIOA36--SCIRXDA 使用寄存器: GPBPUD :设置上拉 GPIO32-GPIO63 对应位0 使能上 ...
- 【学习总结】快速上手Linux玩转典型应用-第5章-远程连接SSH专题
课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. 认识SSH 2. 服务器安装SSH服务 3. 客户端安装SSH工具 4. 客户端链接SSH服务 5. SSH config 6. SSH ...
- Python webdriver调用Chrome报错
报错信息如下: selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to b ...
- 3.css3中多个背景图片的用法
(background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...
- Spring基础03——Spring IOC和DI概述
1.什么是IOC与DI IOC(Inversion of Control):其思想是反转资源获取方向,传统的资源查找方式要求组件想容器发起请求查找资源,作为回应,容器适时的返回资源,而应用了IOC之后 ...
- mongo 数据库操作
启动和关闭数据库 启动 # mongodb 默认使用执行 mongod 命令所处的盘的根目录下 /data/db 作为自己的数据存储目录 # 所以在第一次执行该命令之前先自己动手新建一个 /d ...
- Linux读写物理内存
一.基础知识 1.打开设备文件: mem是一个字符设备文件,是计算机主存的一个映像.通常只有root用户对其有读写权限.因此只有root用户能进行这些操作. 如果要打开设备文件/dev/mem,需要系 ...
- ubuntu下安装/升级软件
参考博客:https://blog.csdn.net/yjk13703623757/article/details/78945576 1.查看软件所有来源 ①.使用apt-cache madison列 ...
- 对15号夏壹队的TD信息通使用体验
对夏壹队的APP的用户使用体验:首先下载的时候看到这个APP的大小是6M多点不算很大感觉还不错,但是占内存不大也说明了一个问题,它不会有很多的功能. 图标是一个蜜蜂,打开后会有一个登陆界面,一开始没有 ...