這篇文章將帶我們去了解如何通過maven來構建自己的第一個項目
什麼是maven?
Maven是一個項目管理和綜合工具。Maven提供了開發人員構建一個完整的生命週期框架。開發團隊可以自動完成該項目的基礎設施建設時間幾乎沒有,Maven使用標準的目錄結構和默認構建生命週期。
在多個開發團隊環境的情況下,Maven可以設置在上班的路上在很短的時間內爲標準。由於大部分的項目設置簡單可重複使用,Maven的生活的開發容易,而創建報告,檢查,生產和測試的自動化設置。
Maven提供了開發人員的方式來管理下面:
Builds
Documentation
Reporting
Dependencies
SCMs
Releases
Distribution
mailing list
概括地說,Maven的簡化和標準化項目建設過程。處理編譯,分配,文檔,團隊協作和其他任務的無縫連接。 Maven增加可重用性並負責建立相關的任務。
Maven歷史
Maven的最初設計,以簡化Jakarta Turbine項目的建設進程。有幾個項目,每個項目包含了稍微不同的Ant構建文件。 JAR中檢查到CVS。
Apache組織開發的Maven可以建立多個項目,發佈項目信息,項目部署,在幾個項目中的份額JAR文件中的團隊合作和幫助。
Maven目標
Maven主要目標是提供開發人員
項目是可重複使用,易維護,更容易理解的一個綜合模型。
插件或交互的工具,這種聲明性的模式。
Maven項目的結構和內容是在一個XML文件中聲明,pom.xml的項目對象模型(POM),這是整個Maven系統的基本單元。有關詳細信息,
請參閱Maven POM的部分.
約定優於配置
Maven的使用約定優於配置,這意味着開發者不需要創建構建過程本身。
開發人員不必提到的每一個配置的詳細信息。Maven提供了合理的默認行爲的項目。創建一個Maven項目時,Maven創建默認的項目結構。開發者只需要把相應的文件和他/她需要在pom.xml中定義的任何配置。
作爲一個例子,下表列出了項目的源代碼文件,資源文件和其他配置的默認值。假設${basedir}表示項目位置:
Item Default
source code
Tests
distributable JAR ${basedir}/target
爲了建設該項目,Maven提供了開發人員,,何況生命週期的目標和項目的依賴(依賴於Maven的插座能力,並在其默認的約定)。大部分的項目管理,並建立相關的任務,是維護Maven插件。
開發人員可以構建任何給定的Maven項目,而不需要了解個人的插件工作。有關詳細信息,請參閱Maven的Plug-ins部分。
通過Hello World來解釋如何構建maven
1.下載maven
選擇apache-maven-3.5.0-bin.zip進行下載
2.配置maven環境變量
在path中
項目的目錄結構:
目錄結構:
boot目錄包含一個類加載器框架
bin目錄包含mvn的運行腳本
config目錄包含配置文件
lib目錄包含mvn使用的類庫
maven項目的目錄結構:
src
-main
-java
-package(自定義的包)
-test
-java
-package
-resources(存放一些資源文件)
兩個不同路徑的java文件
mian下面的HelloWorld.java
package com.imooc.maven01.model;
public class HelloWorld {
public String sayHello() {
return "Hello Maven!";
}
}
test下面的HelloWorldTest.java
package com.imooc.maven01.model;
import org.junit.*;
import org.junit.Assert.*;
public class HelloWorldTest {
@Test
public void testHello() {
Assert.assertEquals("Hello Maven!", new HelloWorld().sayHello());
}
}
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/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>
<!-- 項目包名 -->
<groupId>com.imooc.maven01</groupId>
<!-- 項目名 -->
<artifactId>maven01_model</artifactId>
<version>0.0.1SNAPSHOT</version>
<dependencies>
<dependency>
<!-- 項目包名 -->
<groupId>junit</groupId>
<!-- 項目名 -->
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</project>
通過cmd運行maven:mvn compile
在第一次運行中,會自動下載maven所需的三方庫包
項目編譯成功:
編譯成功後就會在項目中生成一個target目錄 其中的classes文件夾就是編譯出來的class文件
運行測試用例:mvn test
這個代碼就是用來進行@test的一個測試用例的運行
會在項目的target中生成一個test-classes:裏面包含了含test的class文件:
通過mvn package進行一個項目的jar包生成:
通過這個代碼能將項目構建成一個jar文件:
那麼通過這些我們就瞭解了 如何初步對於maven的項目構建