Maven入門

GiantApe發表於2020-10-20

Maven入門

Maven介紹

  • Maven是專案管理工具,對軟體專案提供構建與依賴管理
  • Maven是Apache下的Java開源專案
  • Maven為Java專案提供了統一的管理方式,已成為業界標準

解決了的問題

  1. 工程的結構不統一
  2. 第三方jar包多的時候,不便於管理
  3. 工程打包的困難

Maven核心特性

  • 專案設定遵循統一的規則,保證不同開發環境的相容性
  • 強大的依賴管理,專案依賴元件自動下載、自動更新
  • 可擴充套件的外掛機制,使用簡單,功能豐富

Maven的座標:

GroupId:機構或者團隊的英文,採用"逆向域名"形式書寫

ArtifactId:專案名稱,說明其用途,例如:cms(內容管理系統),oa(辦公自動化系統)

Version:版本號,一般採用“版本+單詞”形式,例如:1.0.0.RELEASE

Maven專案標準結構

目錄用途
${basedir}根目錄,用於儲存pom.xml
${basedir}/src/main/javaJava原始碼目錄
${basedir}/src/main/resources資源目錄,儲存配置檔案、靜態圖片等
${basedir}/src/test/java測試類的原始碼
${basedir}/src/test/resources測試時需要使用的資原始檔
${basedir}/target專案輸出的目錄,用於儲存jar、war檔案
${basedir}/target/classes位元組碼(.class)的編譯輸出目錄
${basedir}/pom.xml專案(Project)物件(Object)模型(Model)檔案

Maven的依賴管理

說明

  • Maven利用dependency(依賴)自動下載、管理第三方Jar
  • 在pom.xml檔案中配置專案依賴的第三方元件
  • maven自動將依賴從遠端倉庫下載至本地倉庫,並在工程中引用

獲取

apache:https://search.maven.org/

阿里雲:https://maven.aliyun.com/mvn/search

本地倉庫與中央倉庫

在這裡插入圖片描述

使用代理:

  <repositories>
  	<repository>
  		<!-- 建立私服的地址 -->
  		<id>aliyun</id>
  		<name>aliyun</name>
  		<url>https://maven.aliyun.com/repository/public</url>
  	</repository>
  </repositories>

普通專案的建立與打包案例(實現中文與拼音的轉化)

建立&使用:

  1. 新建一個Maven專案,預設的jdk是1.5,將jdk的版本調整為1.8
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

  2. 配置第三方元件,使得maven自動從遠端倉庫中下載第三方jar包到本地倉庫

    核心語句

     <dependencies>
    	 <dependency>
    	  <groupId>mysql</groupId>
    	  <artifactId>mysql-connector-java</artifactId>
    	  <version>5.1.47</version>
    	</dependency>	
    	<dependency>
    	  <groupId>com.belerweb</groupId>
    	  <artifactId>pinyin4j</artifactId>
    	  <version>2.5.1</version>
    	</dependency>
    	<dependency>
    	  <groupId>org.springframework</groupId>
    	  <artifactId>spring-webmvc</artifactId>
    	  <version>5.1.1.RELEASE</version>
    	</dependency>
      </dependencies>
    
  3. 建立簡單的java檔案

    PinyinTestor.java

    public class PinyinTestor {
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    		String str = scanner.nextLine();
    		String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(str.charAt(0));
    		for(String py:pinyin) {
    			System.out.println(py);
    		}
    		
    	}
    }
    
  4. 執行main方法

在這裡插入圖片描述

打包

  1. 在pom.xml配置檔案中,根目錄下配置打包的資訊,使用maven-assemble-plugin外掛進行打包輸出

    <build>
      	<!-- 配置外掛 -->
      	<plugins>
      		<plugin>
      			<groupId>org.apache.maven.plugins</groupId>
      			<artifactId>maven-assembly-plugin</artifactId>
      			<!-- 經典版本 -->
      			<version>2.5.5</version>
      			<!-- 用於說明打包過程中的一些細節 -->
      			<configuration>
      				<!-- 指定專案的入口類 -->
      				<archive>
      					<manifest>
      						<mainClass>com.imooc.maven.PinyinTestor </mainClass>
      					</manifest>
      				</archive>
      				<!-- 描述符引用 打包過程中所用到的引數 -->
      				<descriptorRefs>
      					<!-- all in one, 在打包時會將所有引用的jar包合併到jar檔案中 -->	
      					<descriptorRef>jar-with-dependencies</descriptorRef>
      				</descriptorRefs>
      			</configuration>
      		</plugin>
      	</plugins>
      </build>
    
  2. 執行assembly外掛,輸出合併的jar檔案

在這裡插入圖片描述
在這裡插入圖片描述

  1. 用命令列執行輸出的jar包

在這裡插入圖片描述

Web專案的建立與打包案例

建立&使用

  1. 配置好tomcat,建立一個普通的Maven專案,預設的jdk是1.5,將jdk的版本調整為1.8

  2. 進入專案的配置資訊,配置java的編譯級別為jdk1.8

在這裡插入圖片描述

  1. 在src/main目錄下建立一個資料夾,名為webapp

  2. 將maven工程變成標準的web專案,開啟該工程的屬性配置頁面,選擇在這裡插入圖片描述
    Project Facets,點選Convert to facted from…開啟專案模組的皮膚,選擇版本為3.1,並指定執行環境,不要直接點選apply and close,還沒完

  3. 點選圖中出現的Further configuration available…,設定content directory為src/main/webapp,勾選配置xml檔案

在這裡插入圖片描述

  1. 再在右側找到deployment assembly,新增maven的依賴,否則在maven加入的jar包會失效

  2. 在建立的webapp資料夾中出現MATE-INF和WEB-INF目錄說明,已經成功將普通的maven工程變為標準的web工程

  3. 在webapp資料夾下建立一個index.jsp , 在裡面寫如this is a maven project!!!

  4. 將當前工程釋出到tomcat下執行

  5. 在瀏覽器的url中輸入http:localhost:8080/web-maven/, 在頁面上顯示this is a maven project!!!

    在這裡插入圖片描述

打包

  1. 在pom.xml檔案的根目錄中編寫配置war包的資訊

    <!-- packaging代表輸出的格式,預設的是jar包 -->
    <packaging>war</packaging>
    <build>
      	<!-- 輸出的war包名 -->
      	<finalName>web-maven</finalName>
      	<plugins>
      		<plugin>
      			<groupId>org.apache.maven.plugins</groupId>
      			<artifactId>maven-war-plugin</artifactId>
      			<version>3.2.2</version>
      		</plugin>
      	</plugins>
      </build>
    
  2. 執行maven中的外掛

    在這裡插入圖片描述
    在這裡插入圖片描述

  3. 點選run

  4. 將生成的war包放在tomcat的webapp目錄下,執行tomcat bin目錄下的startup.bat檔案,在瀏覽器中輸入http:localhost:8080/web-maven/

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-NWdf5Z8B-1603171498267)(G:\JAVA\Maven學習\assert\12.png)]

Maven常用命令

命令用途
mvn archetype:generate建立工程結構
mvn compile編譯原始碼
mvn test執行測試用例
mvn clean清除產生的專案
mvn package專案打包
mvn install安裝至本地倉庫

相關文章