本次主要介紹瞭如何在IntelliJ IDEA中正確配置pom.xml文件,通常至少要包含三個部分:項目座標和模型版本、引入依賴的jar包、構建項目的配置。
關於Maven的安裝和環境配置可以參考我之前的文章:Maven入門學習
模型版本和項目座標
- 模型版本
modelVersion:pom文件的模型版本 - 項目座標
指的是項目在maven資源庫的座標,通過groupId + artifactId + version進行表示。
- groupId:用於指定當前項目所屬的組,格式一般是com.組織名.項目名,如圖中的com.baidu.dcs。
- artifactId:當前項目所屬組的唯一的ID號,如圖中的:maven-test
- version:用於指定當前項目的版本編號。比如:1.0-SNAPSHOT。後面的SNAPSHOT指正在開發中的項目。
引入依賴的jar包
-
引入依賴的jar包
- 配置依賴的JAR包信息,首先會從本地庫查找是否有該JAR,如果沒有,Maven會從遠程倉庫自動下載這個JAR到本地倉庫,下載完後,就可以在項目中使用這個JAR了。
- 引入方法:在
<dependencies></dependencies>
標籤中配置需要的JAR包的項目座標信息
-
剔除想要排除的jar包
如果想要排除引入的JAR包,可以使用<exclusions> </exclusions>
在<dependencies></dependencies>
中添加
<exclusions>
<exclusion>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql</artifactId>
</exclusion>
</exclusions>
- 直接從Maven中心儲存庫獲取依賴包
URL:mvn中心庫- 搜索指定的依賴包
- 選擇需要的版本
- 獲取到該依賴包的配置信息
- 複製粘貼到pox.xml文件中
具體事例:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
構建項目的配置
-
項目構建,進行打包,使用
<build></build>
標籤進行配置 -
構建時,可以使用不同的插件,指定不同的功能,常用的功能由如下三種:
-
maven-assembly-plugin
設置打包信息,生成的jar包的名稱是{version}-jar-with-dependencies.jar -
maven-compiler-plugin
設置java的版本號 -
maven-resources-plugin
設置項目的編碼格式
-
-
具體配置
<build>
<plugins>
<!--插件1-->
<!--打包配置的插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<!--官方提供的定製化打包方式,將所有依賴的jar包都添加到最終打的包裏-->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<!--名字-->
<id>make-my-jar-with-dependencies</id>
<!--綁定到package生命週期階段上-->
<phase>package</phase>
<!--只執行一次-->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<!--插件2-->
<!--設置java版本爲1.8-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!--插件3-->
<!--設置編碼爲utf-8-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>