maven實戰——pom檔案解析
前言
pom.xml檔案是maven專案的核心檔案,通過對怕pom檔案的解析,何以獲取專案的一些基本資訊以及所依賴的jar包等資訊。
pom檔案專案資訊的設定
一個簡單專案的pom檔案內容
<?xml version="1.0" encoding="UTF-8"?> ----指定版本和編碼 <project xmlns="..." xmlns:xsi="..." xsi:schemaLocation="..."> <modelVersion>4.0.0<modelVersion> ----指定當前pom的版本,對於maven2和maven3來說他只能是4.0.0 <groupId>com.csdn.mvnbook</groupId> ----groupId指定專案屬於哪個組,往往與公司或組織存在關聯 <artifactId>hello-world</artifactId> ----artifactId指定當前maven專案在組中的唯一Id <version>1.0-SNAPSHOT</version> ----指定hello world的版本 <name>Maven Hello World Project</name> ----指定專案有一個友好的專案名稱,不是必須的 </project>
pom檔案中依賴的新增
<pre name="code" class="html"><project> <dependencies> <dependency> <groupId>org.sonatype.nexus</groupId> ----當前專案隸屬的實際專案,maven專案與實際專案並不是一一對應的方式 <artifactId>nexus-indexer</artifactId> ----該元素定義實際專案中的一個模組,使用專案名作為字首 <version>2.0.0</version> ----定義該專案所處版本 <packaging>jar</packaging> ----指定maven專案的打包方式 </dependency> </dependencies> </project>
pom檔案中新增的依賴其實也是maven專案形式的,通過groupId,artifactId,version等元素來定位jar包的位置。
dependency子元素的解釋
<dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>...</type> <scope>...</scope> <optional>...</optional> <exclusions> <exclusion> ... </exclusion> </exclusions> </dependency>
groupId,artifactId,version是依賴的基本座標;type對應專案座標定義的packaging,預設為jar;scope:以來的範圍;optional依賴是否可選;exclusion依賴是否可選。
scope依賴的範圍
maven在編譯專案的時候也需要自己的一套classpath,依賴範圍就是用來控制依賴於這三種的classpath(編譯classpath,測試classpath與執行classpath),maven有以下幾種依賴的範圍:
(1)compile:編譯依賴範圍,如果沒有指定,就會預設使用這個範圍。使用次依賴範圍對編譯,測試與執行都有效。
(2)test:編譯依賴範圍,使用此範圍的依賴只會在測試classpath有效,典型的是Junit依賴。
(3)provided:已提供依賴範圍,在編譯與測試時有效,在執行時無效。例如servlet-api在編譯和測試時需要改依賴,在執行時容器會提供次依賴。
(4)runtime:執行時依賴,對於測試與執行時有效,編譯時無效,例如資料庫連線驅動依賴,在執行時才有有效。
(5)system:系統依賴範圍。使用此依賴範圍需要通過systemPath元素顯示的指定依賴所在的路徑,不通過maven倉庫解析,與本機系統有關。
如:
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0.0</version>
<scope>system</version>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
相關推薦
maven實戰——pom檔案解析
前言 pom.xml檔案是maven專案的核心檔案,通過對怕pom檔案的解析,何以獲取專案的一些基本資訊以及所依賴的jar包等資訊。 pom檔案專案資訊的設定 一個簡單專案的pom檔案內容 <?xml version="1.0" encoding="UTF-8"?&
Maven的pom檔案詳細解析
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma
Maven工程的pom檔案解析
什麼是pom? pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。 快速察看: &
maven的pom檔案超詳細解析
<!--可以免費轉載,轉載時請註明出處 http://pengqb.javaeye.com 。--><project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.
解決idea中maven的pom檔案不會自動下載jar包問題
表現:無法下載pom配置檔案中的依賴包,或只能下載少數包,各項配置都正確的情況 理由未知; 百度了很長一段時間,網上給出比較精準的解決之一是 setting》》maven》》去掉work offline 的勾。(這裡肯定是去掉勾的) 在剛開始百度時,work offine 是出於未被勾選的狀態, 然後在網
Maven中pom.xml解析
pom.xml常用元素 modelVersion 指定了當前pom版本 groupId 反寫的公司網址+專案名 artifactId 專案名+模組名 version 版本號 第一個0表示大版本號;第二個0表示分支版本號;第三個0表示小版本號;如:0.0.1SNAPSHOT快照
maven工程pom檔案依賴架包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS
連線私服倉庫maven的pom檔案報錯:Project build error: Non-resolvable parent POM
配置了私服maven倉庫,在內網160伺服器上,修改了maven配置檔案。下載了一個專案,pom檔案報錯 問題如圖: 將<version>1.5.13.RELEASE</version>改成<version
Maven配置pom檔案詳解
maven核心,pom.xml詳解(轉) 什麼是pom? pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。
Maven專案pom檔案詳解
1.Maven私服 依賴和外掛都屬於構件。 二、依賴、依賴的構件庫、外掛庫、構件的釋出包 1.依賴 2.對於依賴的構件庫,通過<repositories>設定 id,庫的ID name,庫的名稱 url,庫的URL layout
【maven】【異常】maven專案POM檔案報錯
搭建springboot專案時,POM老是提示錯誤,雖然不影響,但是看到錯誤一直掛到那,感覺不舒服。 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProj
Maven中pom檔案詳解
什麼是pom? pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。 快速察看:
springboot-02(springboot的pom檔案解析、springboot場景啟動器)
springboot的pom檔案: 附上springboot的完成pom檔案 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.
java開發工具IntelliJ或eclipse中maven專案pom檔案錯誤failed to read artifact descriptor for xx.jar問題解決辦法
下載安裝好開發軟體之後,IntelliJ會自動對maven外掛進行配置,file-setting 輸入maven可檢視到配置資訊: pom檔案的編寫過程會出現project錯誤, 第一種想法:在第一張圖中home directory 和 setting file 第二種方法:
eclipse匯入maven專案pom檔案報Missing artifact 。。。錯誤的解決辦法
今天 在eclipse裡面匯入一個以前執行無誤的maven專案居然發現pom 檔案報錯 提示Missing artifact 。。。。 的錯誤,很是苦惱,後來在百度上搜了各種方法 終於解決了問題 原因是 pom檔案有時候會犯蠢 你必須強制告訴他本地倉庫在哪裡
IDEA中,Maven專案POM檔案中的依賴未報錯(出現紅色波浪線),但Maven Projects中的模組的Dependencies中的依賴卻報錯
問題描述: IDEA中,Maven專案POM檔案中的依賴未報錯(出現紅色波浪線),但Maven Projects中模組的Dependencies依賴卻報錯。 問題出現的場景: 將本地Maven倉庫的地址從C盤更換到其他盤,新倉庫中jar包存在。 問題分析: 1、
eclipse匯入maven專案pom檔案報錯
Multiple annotations found at this line: - Missing artifact opensymphony:propertyset:jar:1.4.0- Missing artifact opensymphony:oscore:jar
Maven中Pom檔案打包配置build
方法一 <build> <finalName>###架包名###</finalName> <sourceDirectory>
maven工程pom檔案標籤詳解
maven是一個軟體工程(Software Project)管理工具。 對於maven來說,一個軟體工程的唯一標識(也叫maven座標)是由groupId(開發者)、artifactId(開發的產品)、version(產品版本) 共同決定的。每個maven管理的工程都有一個
maven的pom檔案報錯: must be "pom" but is "jar"
今天建立一個maven工程,建立完成時沒有考慮要建立子maven專案。 在編碼過程中發現需要建立子模組,於是在maven工程下建立新的子maven專案,子專案建立完成後設定maven,其中發現子專案pom.xml檔案報錯,錯誤如下: Some problems were