`
changhongbao
  • 浏览: 122469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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>  
  1. groupId : 组织标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是: org/codehaus/mojo目录。
  2. artifactId : 项目名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。
  3. version : 版本号,例如:1.0,在M2_REPO目录下,将是:org/codehaus/mojo/my-project/1.0目录。
  4. packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par
  5. 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.    …  
  9.  </dependencies>  
  1. groupId , artifactId , version :引用的坐标
  2. scope : compile(default),provided,runtime,test,system  依赖的范围
  3. 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.    …  
  3.    <!-- 配置maven在运行时 需要依赖的插件,我们平常可以配jetty插件或者assemebly插件等-->
  4.    <plugins>  
  5.      <plugin>  
  6.        <groupId>org.apache.maven.plugins</groupId>  
  7.        <artifactId>maven-jar-plugin</artifactId>  
  8.        <version>2.0</version>  
  9.        <extensions>false</extensions>  
  10.        <inherited>true</inherited>  
  11.        <configuration>  
  12.          <classifier>test</classifier>  
  13.        </configuration>  
  14.        <dependencies>…</dependencies>  
  15.        <executions>…</executions>  
  16.      </plugin>  
 

 

所有文章:

   参考:项目管理和java文章列表

maven系列文章: 

  1).maven的安装及常用命令(一)

  2).maven的生命周期,插件介绍(二)

  3).maven的坐标,仓库介绍及配置(三)

  4).maven的pom介绍及配置(四)

  5).maven的依赖特性,冲突解决(五)

  6).maven的聚合模块和pom继承使用(六)

  7).maven的版本规范(七)

分享到:
评论

相关推荐

    Maven的pom.xml配置文件详细配置说明

    Maven的pom.xml配置文件详细配置说明 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

    eclipse安装maven插件,处理无Maven Pom editor打开方式问题

    通过以上步骤,你应该能在Eclipse中成功安装并配置Maven插件,从而能够使用Maven Pom editor编辑pom.xml文件,提高Java开发效率。在实际开发中,不断学习和熟练掌握这些工具的使用,能有效提升工作效率,使得开发...

    maven项目pom.xml最详细配置

    maven的pom.xml的最详细配置,内含pom的依赖、jdk配置等

    Maven build之pom.xml文件中的Build配置

    Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...

    maven pom最全配置

    maven最全的配置,&lt;!-- 父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。 坐标包括group ID,artifact ID和 --&gt;

    maven配置文件pom

    pom.xml配置文件,包含数据库,仓库地址配置等等

    MAVEN pom.xml 配置oracle driver jar

    本主题将深入探讨如何在Maven的配置文件`pom.xml`中添加Oracle数据库驱动(jar)以实现与Oracle数据库的连接。首先,我们需要理解`pom.xml`文件的作用,它是Maven项目的元数据文件,包含了项目的信息、构建指令以及...

    maven的pom配置文件

    maven的pom配置文件详解 Maven的pom.xml文件是Maven项目的核心配置文件,它规定了项目的依赖关系、编译环境、测试环境、打包方式等信息。在这个文件中,我们可以看到许多重要的配置项,它们决定了项目的构建、测试...

    maven的本地仓库配置文件settings.xml和项目中文件pom.xml.zip

    一、Idea关联的maven本地仓库配置...三、3个可单独使用的,maven项目文件pom.xml自定义配置 pom-maven-springboot-CusConfigV1.xml pom-maven-springboot-CusConfigV2.xml pom-maven-spring-CusConfigV1不推荐使用.xml

    maven项目的配置POM配置文件

    maven项目的配置POM配置文件,主要是maven项目的配置,直接从中央仓库下载内容。

    Maven pom 配置详解

    **Maven POM配置详解** POM(Project Object Model)是Apache Maven的核心概念,它是一个项目对象模型,用于描述一个Maven项目的所有相关信息。POM是通过XML格式编写的,并且通常命名为`pom.xml`,位于项目根目录下...

    maven pom.xml 动态读取变量值插件

    该jar包功能,可以在一个properties文件里面定义jdbc.url=${url},在另一个properties文件定义具体的值,通过该jar可以获取到哪个具体的值。下载之后,自行安装到本地...具体pom.xml配置使用可以参考网络其他博文,谢谢

    史上最全的maven的pom.xml文件详解

    Maven是Java领域最流行的构建工具之一,其核心配置文件是Pom.xml。在Pom.xml文件中,我们可以定义项目的基本信息、依赖关系、构建过程、测试环境等。下面,我们将详细解析Pom.xml文件的各个标签和它们的作用。 1. ...

    maven pom配置文件

    这个一个maven web项目的pom文件。主要包含运用spring mvc, spring, mybatis 框架时需要导入的依赖列表。旨在帮助一些愿在java web上进行开发的新手。大部分依赖都有其注释与说明。

    【Maven】Maven POM配置详解 - CSDN博客1

    Maven POM配置详解 Maven 项目的核心是 pom.xml,POM(project object model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,如何声明依赖等等。下面是 pom 文件中各个标签的用法和含义: 1. `...

    maven中pom.xml基本配置

    在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...

    maven birt pom.xml 配置

    maven birt pom.xml 配置

    maven web pom文件常用配置

    这篇博文主要讨论了`pom.xml`文件中的常用配置,以帮助开发者更好地理解和使用Maven。 首先,`&lt;project&gt;`是`pom.xml`的根元素,它包含了关于项目的所有信息。其中,`&lt;modelVersion&gt;`定义了pom模型的版本,通常是...

    Maven_pom.xml常用配置解析

    Maven pom.xml 常用配置解析 Maven 项目对象模型(POM)是 Maven 的核心概念,它是 Maven 项目的描述文件,用于定义项目的坐标、依赖关系、编译、打包、测试、部署等过程。pom.xml 文件是 Maven 项目的核心配置文件...

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

Global site tag (gtag.js) - Google Analytics