1. 程式人生 > >從零開始使用Maven(一)建立Maven專案

從零開始使用Maven(一)建立Maven專案

最近在學習Maven,以前倒也不是沒有用過,但是總是沒有深入去了解,現在分享一下最近學習的心得及Maven的用法,希望能幫到初學者。

一. 首先,Maven是什麼?網上搜到的通俗點的說法是這樣的:
Maven是一個專案構建和管理的工具,提供了幫助管理 構建、文件、報告、依賴、scms、釋出、分發的方法。可以方便的編譯程式碼、進行依賴管理、管理二進位制庫等等。
maven的好處在於可以將專案過程規範化、自動化、高效化以及強大的可擴充套件性
利用maven自身及其外掛還可以獲得程式碼檢查報告、單元測試覆蓋率、實現持續整合等等。
以我的理解,目前在專案中,大多數都是用Maven進行Jar包的版本管理。
Maven的聚合工程管理尤其方便,當一個大的專案包含很多模組的時候,每個人開發完自己的模組,可以通過Maven聚合工程進行版本管理。

二. 用到的工具:
1.先去官網下載apache-maven-3.1.1(必須,你可以把Maven理解為一個Jar包的倉庫。)
2.repository(這個是本地Jar包倉庫,沒有的話,每次專案中用到Jar包的時候都會去Maven伺服器上下載;最好找一下別人的倉庫拿過來,這樣的話,每次用到Jar包會先從本地倉庫找,沒有的再從Maven伺服器上自動下載到本地倉庫,然後在複製到專案中。repository在Maven的setting.xml中配置一下即可,這個後面說)
3.nexus-2.14.2-01(nexus是私服,相當於是建在公司伺服器上的Maven。因為很多公司限制外網連線,如果沒有私服,你根本不能從Maven官網下載Jar包,所以可以在能連線外網的機器上建立nexus,其他區域網的機器直接從nexus下載Jar包即可)

三. 搭建Maven
將apache-maven-3.1.1和repository放在D:\maven中。
Maven的核心配置檔案是settings.xml,下面是我改完的配置檔案。

<?xml version="1.0" encoding="UTF-8"?>	

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 	
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">	

	<localRepository>D:\maven\repository</localRepository>

  <pluginGroups>	
  </pluginGroups>	
	
  <proxies>	
  </proxies>	
	
  <servers>
	<server>
            <id>releases</id>	
            <username>admin</username>	
            <password>admin123</password>	
        </server>	
	<server>
            <id>snapshots</id>	
            <username>admin</username>	
            <password>admin123</password>	
        </server>	
	
  </servers>	

  <mirrors>
    <mirror>
      <id>nexus-repos</id>	
      <mirrorOf>*</mirrorOf>	
	  <name>Team Nexus Repository</name>
      <url>http://192.168.8.79:8081/nexus/content/groups/public/</url>	
    </mirror>	
  </mirrors>	
  	
  <profiles>
    <profile>
      <id>jdk-1.7</id>	
      <activation>	
          <activeByDefault>true</activeByDefault>	
        <jdk>1.7</jdk>	
      </activation>	
      <properties>	
          <maven.compiler.source>1.7</maven.compiler.source>	
          <maven.compiler.target>1.7</maven.compiler.target>	
          <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>	
      </properties>	
    </profile>	
  </profiles>	
</settings>	

注意修改的地方如下:
1.配置本地倉庫,指向repository解壓後位置:
<localRepository>D:\Program Files\repository\repository</localRepository>

2.Mirrors標籤中新增私服配置,指向公司伺服器上的nexus私服
<mirror>	
	<id>nexus-repos</id> 
	<mirrorOf>*</mirrorOf> 
	<name>Team Nexus Repository</name> 
	<url>http://192.168.3.100:8099/nexus/content/groups/public/</url>
</mirror>	

3.開啟myEclipse -> windows -> perferences搜尋maven如下圖


4.Installations -> add 找到apache-maven-3.1.1解壓後的目錄—確定


5.User settings -> browse找到2中修改的settings.xml文 -> update settings -> reindex -> apply


6.windows -> show View -> other找到Maven repositories看到下圖證明配置完成


四. 建立Maven專案
1.在MyEclipse中建立Maven Project








2.將Maven專案轉為Web專案
專案右鍵點選Properties






專案結構就變成了這樣,標準的web專案


3.Maven專案的核心:pom.xml
pom是指project object Model。
pom是一個xml,是maven工作的基礎,在執行程式的時候,maven會去專案根目錄下讀取pom.xml獲得需要的配置資訊。
pom檔案中包含了專案的資訊和maven build專案所需的配置資訊,通常有專案資訊(如版本、成員)、專案的依賴、外掛和goal、build選項等等。
上面新建的Maven Web專案的pom.xml如下:
<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/xsd/maven-4.0.0.xsd">	
  <modelVersion>4.0.0</modelVersion>	
  <groupId>com.demo</groupId>	
  <artifactId>maven-web</artifactId>	
  <version>0.0.1-SNAPSHOT</version>	
  <packaging>war</packaging>	
  <build/>	
</project>	

假如你想引用slf4j-1.7.7,在pom.xml中新增下面這段:
<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/xsd/maven-4.0.0.xsd">					
  <modelVersion>4.0.0</modelVersion>					
  <groupId>com.demo</groupId>					
  <artifactId>maven-web</artifactId>					
  <version>0.0.1-SNAPSHOT</version>					
  <packaging>war</packaging>					
  <build/>					
  					
  <dependencies>					
  	<dependency>				
		<groupId>com.slf4j</groupId>			
		<artifactId>slf4j</artifactId>			
		<version>1.7.7</version>			
	</dependency>				
  </dependencies>					
</project>					

接下來你就可以編譯了,pom.xml上右鍵Run As -> Maven install


開啟target目錄:
紅色的是專案打成的war包;藍色的是你在pom.xml中寫的想要匯入的jar包


maven-web-0.0.1-SNAPSHOT和war包的內容是一樣的,可以把他們放到Tomcat下面執行:
地址:http://localhost:8079/maven-web-0.0.1-SNAPSHOT