從零開始使用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