溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

maven的pom介紹及配置

發(fā)布時間:2020-09-22 04:28:44 來源:網(wǎng)絡(luò) 閱讀:576 作者:joet6295 欄目:開發(fā)技術(shù)

1.什么是pom?

pom(Project Object Model,項目對象模型)定義了項目的基本信息,用于描述項目是如何構(gòu)建,聲明項目依賴,插件配置,倉庫配置等等。

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     <!-- 坐標(biāo) -->  

  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     <!-- 構(gòu)建過程的設(shè)置 -->  

  22. 19     <build>...</build>  

  23. 20     <reporting>...</reporting>  

  24. 21       

  25. 22     <!-- 項目信息設(shè)置 -->  

  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     <!-- 環(huán)境設(shè)置 -->  

  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標(biāo)簽詳解下載 

 

3.1 項目坐標(biāo)標(biāo)簽:

   

  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 : 組織標(biāo)識,例如: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版本號,版本號有一系列的規(guī)則

  3.2 依賴標(biāo)簽:

(依賴關(guān)系列表(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>  

  10. groupId , artifactId , version :引用的坐標(biāo)

  11. scope : compile(default),provided,runtime,test,system  依賴的范圍

  12. 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 項目構(gòu)建build時標(biāo)簽:下載 

(可以幫我們指定 需要的maven插件,主要標(biāo)簽:Resources和Plugins

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

   可以用于解決 我們部署測試和線上 服務(wù)時,資源文件配置的隔離依賴:-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:設(shè)置構(gòu)建的插件下載 

  1. <build>  

  2.    …  

  3.    <!-- 配置maven在運(yùn)行時 需要依賴的插件,我們平??梢耘鋔etty插件或者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>  

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI