maven的pom介绍及配置

1.什么是pom?

pom(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目是如何构建,声明项目依赖,插件配置,仓库配置等等。

2.pom配置

Xml代码  下载

  1. <strong><project xmlns="http://maven.apache.org/POM/4.0.0"
  2. 2          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. 4             http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. 5     <modelVersion>4.0.0</modelVersion>
  6. 6
  7. 7     <!-- 坐标 -->
  8. <parent> ... </parent>
  9. 8     <groupId>...</groupId>
  10. 9     <artifactId>...</artifactId>
  11. 10     <version>...</version>
  12. 11     <packaging>...</packaging>
  13. <!-- 仓库依赖 -->
  14. 12     <dependencies>...</dependencies>
  15. 14     <dependencyManagement>...</dependencyManagement>
  16. <!-- 项目模块配置 -->
  17. 15     <modules>...</modules>
  18. <!-- 全局配置文件 -->
  19. 16     <properties>...</properties>
  20. 17
  21. 18     <!-- 构建过程的设置 -->
  22. 19     <build>...</build>
  23. 20     <reporting>...</reporting>
  24. 21
  25. 22     <!-- 项目信息设置 -->
  26. 23     <name>...</name>
  27. 24     <description>...</description>
  28. 25     <url>...</url>
  29. 26     <inceptionYear>...</inceptionYear>
  30. 27     <licenses>...</licenses>
  31. 28     <organization>...</organization>
  32. 29     <developers>...</developers>
  33. 30     <contributors>...</contributors>
  34. 31
  35. 32     <!-- 环境设置 -->
  36. 33     <issueManagement>...</issueManagement>
  37. 34     <ciManagement>...</ciManagement>
  38. 35     <mailingLists>...</mailingLists>
  39. 36     <scm>...</scm>
  40. 37     <prerequisites>...</prerequisites>
  41. 38     <repositories>...</repositories>
  42. 39     <pluginRepositories>...</pluginRepositories>
  43. 40     <distributionManagement>...</distributionManagement>
  44. 41     <profiles>...</profiles>
  45. 42 </project></strong>

 

3.pom标签详解下载 

3.1 项目坐标标签:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>org.codehaus.mojo</groupId>
  7. <artifactId>my-project</artifactId>
  8. <version>1.0</version>
  9. <packaging>war</packaging>
  10. </project>
  11. groupId : 组织标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是: org/codehaus/mojo目录。
  12. artifactId : 项目名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。
  13. version : 版本号,例如:1.0,在M2_REPO目录下,将是:org/codehaus/mojo/my-project/1.0目录。
  14. packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par
  15. modelVersion:定义pom版本号,版本号有一系列的规则

3.2 依赖标签:

(依赖关系列表(dependency list)是POM的重要部分,也就是我们项目对jar包的管理)

Xml代码 下载

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>4.0</version>
  6. <scope>test</scope>
  7. </dependency>
  8. </dependencies>
  9. groupId , artifactId , version :引用的坐标
  10. scope : compile(default),provided,runtime,test,system  依赖的范围
  11. exclusions  需要排除的依赖的jar包

3.3 继承和聚合(子pom对父pom依赖 和 父项目对模块的依赖)

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>org.maven.my</groupId>
  7. <artifactId>${projectName}-parent</artifactId>
  8. <version>2.0</version>
  9. <!-- 定义项目有哪些子模块 -->
  10. <modules>
  11. <module>my-spring-web<module>
  12. <module>my-spring-service<module>
  13. <module>my-spring-common<module>
  14. <module>my-spring-dao<module>
  15. </modules>
  16. </project>

 3.4 项目构建build时标签:下载 

(可以帮我们指定 需要的maven插件,主要标签:Resources和Plugins

Resources:用于排除或包含某些资源文件

可以用于解决 我们部署测试和线上 服务时,资源文件配置的隔离依赖:-Ponline | -Plocal

Xml代码  下载

  1. <build>
  2. <!-- 开启资源文件过滤 -->
  3. <resources>
  4. <resource>
  5. <directory>${project.basedir}/src/main/resources</directory>
  6. <filtering>true</filtering>
  7. </resource>
  8. </resources>
  9. </build>
  10. <!-- 指定资源文件路径 -->
  11. <profiles>
  12. <!--测试配置 -->
  13. <profile>
  14. <id>local</id>
  15. <activation>
  16. <activeByDefault>true</activeByDefault>
  17. </activation>
  18. <build>
  19. <filters>
  20. <filter>${project.basedir}/src/main/swap/local.properties</filter>
  21. </filters>
  22. </build>
  23. </profile>
  24. <!-- 线上配置 -->
  25. <profile>
  26. <id>online</id>
  27. <activation>
  28. <activeByDefault>false</activeByDefault>
  29. </activation>
  30. <build>
  31. <filters>
  32. <filter>${project.basedir}/src/main/swap/online.properties</filter>
  33. </filters>
  34. </build>
  35. </profile>

Plugins:设置构建的插件下载

  1. <build>
  2. <!-- 配置maven在运行时 需要依赖的插件,我们平常可以配jetty插件或者assemebly插件等-->
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-jar-plugin</artifactId>
  7. <version>2.0</version>
  8. <extensions>false</extensions>
  9. <inherited>true</inherited>
  10. <configuration>
  11. <classifier>test</classifier>
  12. </configuration>
  13. <dependencies>…</dependencies>
  14. <executions>…</executions>
  15. </plugin>
时间: 2024-10-30 06:43:13

maven的pom介绍及配置的相关文章

maven的pom.xml文件配置详解

<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/maven-v4_0_0.xsd "> <!-- 父项目的坐标.如

maven中pom.xml中配置整理: groupId、artifactId、parent、dependency、dependencyManagement区别

1 <groupId>com.mycompany.commonmaven</groupId> 2 <artifactId>commonmaven</artifactId> 3 <version>0.0.1-SNAPSHOT</version> 4 <packaging>jar</packaging> 5 <name>common_maven</name> groupId 定义了项目属于哪

(转)Maven的pom.xml文件配置使用

转载:http://www.cnblogs.com/GarfieldTom/p/3707160.html <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.ap

maven的pom文件解析及配置

1.IDEA中的Maven的pom.xml文件,其实比较通俗点介绍功能主要项目引入的jar包,管理配置项目以及一些插件的配置等项目 2.对于pom配置详细介绍,整理如下2篇文档介绍的比较系统全面: https://blog.csdn.net/xyphf/article/details/81228737 https://blog.csdn.net/qq_17085463/article/details/78820645 原文地址:https://www.cnblogs.com/chch213/p/

Maven管理SSM框架的pom.xml文件配置(自动下载所依赖的jar包)

<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/maven-v4_0_0.xsd"> <modelVersion&

Maven系列--pom.xml 配置详解

1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4 <!--父项

maven中pom.xml标签介绍

pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素. 1 <span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="htt

maven中pom.xml配置详解

Maven 2 的 pom.xml 配置说明. pom.xml文件(实践用): <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.or

Maven的POM.xml配置大全

<?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 h