1. 程式人生 > 其它 >Maven專案的構建過程

Maven專案的構建過程

目錄

1. 手動構建Maven專案

  1. 構建Maven標準的專案結構,如圖
  1. 在main\java目錄下建立示例java檔案(按包路徑存放)。

    package idv.jarjack;
    
    public class Demo{
    	public String say(String name){
    		System.out.println("Hello " +name);
    		return "Hello " +name;
    	}
    }
    
  2. 在test\java目錄下建立java示例的測試用檔案(按包路徑存放),需要引入測試依賴包【junit】。

    package idv.jarjack;
    
    import org.junit.Test;
    import org.junit.Assert;
    
    public class DemoTest{
    	@Test
    	public void testSay(){
    		Demo demo = new Demo();
    		String str = demo.say("maven");
    		Assert.assertEquals("Hello maven", str);
    	}
    }
    
  3. 在本專案的根目錄下建立Maven專案的配置文件【pom.xml】。

    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    
       <!-- 設定Maven專案的屬性 -->
       <groupId>idv.jarjack</groupId>
       <artifactId>project-java</artifactId>
       <version>1.0</version>
       <packaging>jar</packaging>
    
       <!-- 宣告專案引入的依賴包的座標 -->
       <dependencies>
          <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.12</version>
          </dependency>
       </dependencies>
    </project>
    
  4. 使用Maven的構建命令手動構建專案

    在專案根目錄下的cmd視窗使用以下指令。

  • 使用mvn compile指令

    • 第一次使用該指令時,會從遠端倉庫下載編譯功能相關的外掛到本地,再進行編譯,故時間較長,顯示build success則編譯成功。
    • 可發現Maven中的【repository】目錄存放了剛從阿里雲倉庫下載的外掛檔案。
    • 此時可見專案根目錄出現了【target】目錄,用於存放編譯後的二進位制檔案。
  • 使用mvn clean指令,清除已構建的專案,此時發現target目錄被清除了。

  • 使用mvn test指令

    • cmd視窗會顯示測試結果。
    • 此時【target】目錄下新增更多內容,其中的【surefire-reports】目錄存放了測試報告。
  • 使用mvn package指令

    • 會發現【target】目錄下出現了專案的jar包,該指令只會將編譯後的二進位制檔案打包。
    • 打包指令預設自動將編譯和測試操作實現一遍,再進行打包。
  • 使用mvn install指令,會發現該專案的jar包被髮布到本地倉庫目錄中,該指令預設會將編譯、測試、打包操作都實現一遍。

2. 呼叫用功能外掛構建Maven專案

在任意目錄下的cmd視窗執行以下指令,Maven會呼叫外掛自動在當前目錄構建專案目錄。

mvn archetype:generate
	-DgroupId=工作組ID
	-DartifactId=專案ID
	-Dversion=專案版本號-snapshot
	-DarchetypeArtifactId=使用的專案模板
	-DinteractiveMode=false

如使用web專案模板,可在任意目錄下自動構建一個web專案的目錄結構

mvn archetype:generate -DgroupId=idv.jarjack -DartifactId=project-web -Dversion=1.0-snapshot -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

生成的web目錄與普通java專案對比:

3. 在IDEA中構建Maven專案

  1. 開啟IDEA設定介面的Maven項,將預設的Maven程式設為自己本地的Maven。
  1. 新建一個Maven專案,IDEA會自動在指定路徑建立Maven標準專案結構目錄,右邊欄出現Maven控制面板,可執行生命週期中的構建命令。

一些技巧

1. 在Maven安裝Tomcat外掛

  • Maven中可安裝Tomcat外掛,只需在專案模型配置【pom.xml】中的<build> / <plugins> / <plugin>標籤路徑下新增外掛座標即可,Maven會自動下載資源到本地,外掛座標可在Maven遠端倉庫查詢。如:
<build>
	<plugins>
    	<plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
        </plugin>
    </plugins>
</build>
  • 新增到【pom.xml】後,重新整理Maven控制檯,可見Maven正在下載外掛並安裝
  • 使用【tomcat7:run】等指令可使用該外掛,若啟動時顯示encoding報警,則在【pom.xml】中新增

    <properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    

2. 在IDEA中自定義執行指令