maven-Maven的pom介绍及配置

    xiaoxiao2021-12-14  22

    1.什么是pom?

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

     

    Xml代码   <strong><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/xsd/maven-4.0.0.xsd">    5     <modelVersion>4.0.0</modelVersion>            6         7     <!-- 坐标 -->          <parent> ... </parent>    8     <groupId>...</groupId>     9     <artifactId>...</artifactId>   10     <version>...</version>   11     <packaging>...</packaging>          <!-- 仓库依赖 -->   12     <dependencies>...</dependencies>   14     <dependencyManagement>...</dependencyManagement>          <!-- 项目模块配置 -->   15     <modules>...</modules>          <!-- 全局配置文件 -->   16     <properties>...</properties>   17        18     <!-- 构建过程的设置 -->   19     <build>...</build>   20     <reporting>...</reporting>   21        22     <!-- 项目信息设置 -->   23     <name>...</name>   24     <description>...</description>   25     <url>...</url>   26     <inceptionYear>...</inceptionYear>   27     <licenses>...</licenses>   28     <organization>...</organization>   29     <developers>...</developers>   30     <contributors>...</contributors>   31        32     <!-- 环境设置 -->   33     <issueManagement>...</issueManagement>   34     <ciManagement>...</ciManagement>   35     <mailingLists>...</mailingLists>   36     <scm>...</scm>   37     <prerequisites>...</prerequisites>   38     <repositories>...</repositories>   39     <pluginRepositories>...</pluginRepositories>   40     <distributionManagement>...</distributionManagement>   41     <profiles>...</profiles>   42 </project></strong>  

     

     

     

    3.pom标签详解

     

    3.1 项目坐标标签:

       

    <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>4.0.0</modelVersion>     <groupId>org.codehaus.mojo</groupId>     <artifactId>my-project</artifactId>     <version>1.0</version>     <packaging>war</packaging>   </project>   groupId : 组织标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是: org/codehaus/mojo目录。artifactId : 项目名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。version : 版本号,例如:1.0,在M2_REPO目录下,将是:org/codehaus/mojo/my-project/1.0目录。packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , parmodelVersion:定义pom版本号,版本号有一系列的规则   3.2 依赖标签: (依赖关系列表(dependency list)是POM的重要部分,也就是我们项目对jar包的管理) Xml代码  <dependencies>      <dependency>        <groupId>junit</groupId>        <artifactId>junit</artifactId>        <version>4.0</version>        <scope>test</scope>      </dependency>      …    </dependencies>   groupId , artifactId , version :引用的坐标scope : compile(default),provided,runtime,test,system  依赖的范围exclusions  需要排除的依赖的jar包 3.3 继承和聚合(子pom对父pom依赖 和 父项目对模块的依赖) <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>4.0.0</modelVersion>     <groupId>org.maven.my</groupId>     <artifactId>${projectName}-parent</artifactId>     <version>2.0</version>    <!-- 定义项目有哪些子模块 -->    <modules>       <module>my-spring-web<module>       <module>my-spring-service<module>       <module>my-spring-common<module>       <module>my-spring-dao<module>     </modules>   </project>    3.4 项目构建build时标签: (可以帮我们指定 需要的maven插件,主要标签:Resources和Plugins     Resources:用于排除或包含某些资源文件    可以用于解决 我们部署测试和线上 服务时,资源文件配置的隔离依赖:-Ponline | -Plocal Xml代码   <build>           <!-- 开启资源文件过滤 -->           <resources>               <resource>                   <directory>${project.basedir}/src/main/resources</directory>                   <filtering>true</filtering>               </resource>           </resources>   </build>   <!-- 指定资源文件路径 -->   <profiles>           <!--测试配置 -->           <profile>               <id>local</id>               <activation>                   <activeByDefault>true</activeByDefault>               </activation>               <build>                   <filters>                       <filter>${project.basedir}/src/main/swap/local.properties</filter>                   </filters>               </build>           </profile>           <!-- 线上配置 -->           <profile>               <id>online</id>               <activation>                   <activeByDefault>false</activeByDefault>               </activation>               <build>                   <filters>                       <filter>${project.basedir}/src/main/swap/online.properties</filter>                   </filters>               </build>           </profile>      Plugins:设置构建的插件 <build>      …      <!-- 配置maven在运行时 需要依赖的插件,我们平常可以配jetty插件或者assemebly插件等-->    <plugins>        <plugin>          <groupId>org.apache.maven.plugins</groupId>          <artifactId>maven-jar-plugin</artifactId>          <version>2.0</version>          <extensions>false</extensions>          <inherited>true</inherited>          <configuration>            <classifier>test</classifier>          </configuration>          <dependencies>…</dependencies>          <executions>…</executions>        </plugin>  
    转载请注明原文地址: https://ju.6miu.com/read-964297.html

    最新回复(0)