JAVA框架——Maven

一、Maven概述 
1、跨平臺的構建工具  
服務於構建,是一個異常強大的構建工具,自動化構建過程(從清理、編  譯、測試到生成報告,再到打包和部署。只要Maven配置好項目,輸入簡單命令如  :mvn clean install 即可完成一系列操作)最大化的消除了構建的重複,抽象了一個完  整的構建生命週期模型,它跨平臺,對外提供了一致的操作接口,標準化構建過程  。
2、依賴管理工具和項目管理工具
通過一個座標系統準確定位每一個構件(artifact);
通過Maven的衍生工具(如 Nexus),可以對開源類庫快速定位,幫助自動下載。 maven的項目結構、測試用例命名方式等都有已經定好的規則,只要遵循  規則,用戶在項目間切換時免去額外時間————約定優於配置 
3、它包含了:
一個項目對象模型 (Project Object Model), 一個項目一個pom.xml
一組標準集合,
一個項目生命週期(Project Lifecycle),
一個依賴管理系統(Dependency Management System),
 和用來運行定義在生命週期階段(phase)中插件(plugin)目標(goal)的邏輯。
當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,
然後 Maven 可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
二、maven安裝
1、檢查JDK安裝(Maven可以允許在JDK1.4及以上版本,本案例示範  JDK1.7) 
打開DOC命令窗口,
輸入echo %JAVA_HOME%   查看環境變量JAVA_HOME是否指向正確JDK  目錄
輸入java -version   查看java版本 無法執行java,則查看JDK是否正確安裝
2、安裝Maven
進入apache官網,點擊Maven,進入maven.apache.org/download.html點擊下載  apache-maven-3.3-bin.zip(根據自己需求下載);
解壓至自己想要的目錄;
打開環境變量設置:新建一個變量 M2_HOME(一般這樣命名,也可以自  己命名) 再在path中加入  %M2_HOME%/bin;
3、檢查maven
在DOC命令窗口輸入  
echo %M2_HOME%  查看M2_HOME的配置
echo %path%  查看path的配置
mvn -v    查看maven的版本,成功則安裝成功,否則檢查環境變量,在path  中也可以不用M2_HOME,可以直接輸入maven的安裝目錄/bin; 
  4、安裝目錄
bin:包含了mvn運行的腳本,在命令窗口輸入mvn就是在bin中調用mvn.bat;
boot:plexus-classworlds是一個類加載器框架,提供豐富的語法以方便配置
conf:包含setting.xml:全局定製maven的行爲,一般複製至  c:/Users/Administrator/.m2/中,然後修改以適應需求。不同計算機所在目錄不同。
lib:包含所有Maven運行時需要的java類庫
5、IDE 更方便適應Maven,構建項目就會適應IDE,如eclipse等開發工具
6、注意:c:/Users/Administrator/.m2中可能會有repository文件夾,這個是  maven的構建都會被存儲在該倉庫中的,放在C盤中佔內存,可以刪除。在setting.xml  中配置倉庫所在位置:

<localRepository>D:/Program Files(x86)/Java/MavenRepository/</localRepository> 




三、在eclipse中使用Maven
1、在windows-->preference中選Maven--->installation---->add---->選擇Maven  的安裝目錄
2、選中Maven--->User Settings 設置setting.xml 和倉庫的位置 3、OK,保證配置成功此處配置是爲了使用自己安裝的Maven,而不是eclipse中已有的。使用的eclipse也可能不一樣,有的eclipse需要自己安裝maven,需要的自己百度。

3、使用私服nexus
a、只爲一個項目配製(pom.xml):
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://私服nexus的ip地址:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://私服nexus的ip地址:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
b、本機所有項目都可以使用(settings.xml):
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://私服nexus的ip地址:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://私服nexus的ip地址:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>


<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
c、配置鏡像讓maven只使用nexus私服(settings.xml):
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://私服nexus的ip地址:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>


<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
d、部署構件至私服nexus(pom.xml)
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Releases Repositories</name>
<url>http://218.196.14.220:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshots Repositories</name>
<url>http://218.196.14.220:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>


爲部署構件到私服nexus配置認證信息(settings.xml)
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
在setting.xml中配置,建議使用c
4、maven命令
mvn clean  : 清除
mvn clean compile : 清除並編譯源文件
mvn clean test : 清除並編譯源文件和測試源文件
mvn clean package : 清除並編譯源文件和測試源文件後, 再打包
mvn clean install : 清除並編譯源文件和測試源文件後, 再打包, 再安裝到本地倉庫
5、maven文件:
源文件存放位置: src/main/java
配置資源文件存放位置: src/main/resources
測試源文件存放位置:src/test/java
測試配置資源文件存放位置: src/test/resources
四、簡單程序Hello 
1、創建項目
new --->other--->maven-->Mavern Project--->next-->next(quickstart)(webapp是web項目)---->下圖所示






2、編寫程序:




3、Junit需要導包而maven不用導包直接在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.yc.maven</groupId>
  <artifactId>maven-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>


  <name>maven-test</name>
  <url>http://maven.apache.org</url>


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


  <dependencies>
   <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.12</version>
</dependency>

  </dependencies>
</project>
這是在私服nexus/中junit的配置中的,這樣找更精確不易錯
4、編譯運行
右鍵-->run as ---->mavern clean---> 也順便測試mvn是否可用
Mavern build -->輸入compile
Mavern test
以下結果爲成功,出錯找原因

發佈了16 篇原創文章 · 獲贊 32 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章