Java技術學習路線筆記:Maven安裝和做用

Maven是一個基於項目對象模型(POM)的概念的純java開發的開源的項目管理工具。主要用來管理java項目,進行依賴管理(jar包管理,能自動分析項目所需的依賴軟件包,併到Maven倉庫區下載)和項目構建(項目打包和部署)。此外還能分塊開發,提升開發效率。java

  本文將從如下三個方面寫起:web

  一、Maven的做用apache

  二、Maven的安裝配置服務器

  三、IDEA配置Mavenapp

QQ截圖20181031143508

  一、Maven的做用,爲何要使用Maven框架

  (1)建立項目,自動關聯和下載依賴的jar包。webapp

  (2)升級框架的版本。升級某個框架的版本,但殊不知道與它相關聯的哪幾個jar也須要跟着升級,和升級到哪一個版本。maven

  (3)自動部署。用Maven只需一個命令,就能夠把項目自動部署到遠程服務器上。ide

  (4)項目編譯打包導出。這個隨意一個IDE都能作到,因此若是要Maven作這件事,可能的場景,就是作沒有裝IDE的環境裏,好比在服務器端Linux環境下。工具

  二、Maven的安裝配置

  一、下載maven 的地址:http://maven.apache.org/download.cgi

  二、解壓,而後再「個人電腦」--右鍵--「屬性」--「高級系統設置」--「環境變量」中添加以下信息:

  a、新增變量MAVEN_HOME的值爲Maven的安裝文件夾

  b、在PATH變量中添加:%MAVEN_HOME%\bin

  三、驗證配置是否成功,打開cmd,輸入:mvn -version

  Maven配置文件(settings.xml)具體說明

  1.localRepository:設置本地倉庫:

  <localRepository>C:\software\repository</localRepository>

  2.pluginGroups:插件組合

  3.proxies:代理

  4.servers服務器(其中username和password是私服的用戶名和密碼,後續配置私服說明)

  <server>

  <id>user-releases</id>

  <username>admin</username>

  <password>123456</password>

  </server>

  <server>

  <id>user-snapshots</id>

  <username>admin</username>

  <password>wangwujuan</password>

  </server>

  5.mirrors:鏡像路徑

  <!-- 阿里鏡像 -->

  <mirror>

  <id>alimaven</id>

  <name>aliyun maven</name>

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

  <mirrorOf>central</mirrorOf>

  </mirror>

  6.profiles:服務器配置

  <!--服務器的配置-->

  <profile>

  <id>nexusProfile</id>

  <repositories>

  <repository>

  <id>nexus</id>

  <name>nexus</name>

  <url>http://localhost:8081/nexus/content/groups/public/</url>

  <releases>

  <enabled>true</enabled>

  </releases>

  <snapshots>

  <enabled>true</enabled>

  </snapshots>

  </repository>

  </repositories>

  <pluginRepositories>

  <!-- 插件倉庫,maven的運行依賴插件,也須要從私服下載插件 -->

  <pluginRepository>

  <!-- 插件倉庫的id不容許重複,若是重複後邊配置會覆蓋前邊 -->

  <id>public</id>

  <name>Public Repositories</name>

  <url>http://localhost:8081/nexus/content/groups/public/</url>

  </pluginRepository>

  </pluginRepositories>

  </profile>

  <!-- java編譯插件,配jdk的編譯版本-->

  <profile>

  <id>jdk-1.8</id>

  <activation>

  <activeByDefault>true</activeByDefault>

  <jdk>1.8</jdk>

  </activation>

  <properties>

  <maven.compiler.source>1.8</maven.compiler.source>

  <maven.compiler.target>1.8</maven.compiler.target>

  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

  </properties>

  </profile>

  7.activeProfiles:激活私服

  <activeProfiles>

  <activeProfile>nexusProfile</activeProfile>

  </activeProfiles>

  Maven倉庫說明

  存儲jar的倉庫(3種倉庫)

  1.本地倉庫:存儲在本地磁盤,默認在系統盤c盤 用戶名/.m2/xx

  經過settings.xml 更改本地倉庫localRepository

  2.遠程倉庫:通常都使用國內鏡像或者公司本身搭建私服. 通常用Nexus

  目的:加快下載速度

  3.Maven(中央)倉庫:Maven團隊維護的jar包倉庫 http://repo1.maven.org/maven2/

  通常用這個查POM:http://mvnrepository.com/

  檢索順序:先檢索本地倉庫--再檢索遠程倉庫--最後檢索中央倉庫

  Maven管理項目週期

  1. Clean:項目構建前的清理操做

  2. Default: 核心生命週期核心過程:編譯,運行,打包等等

  3. Site:發佈站點,生成報告等等,

  三、IDEA配置Maven

  IDEA內部集成了Maven,也能夠配置成本身安裝的Maven

  File ----> Settings ----> 找到Maven,配置Maven home directory

圖片2

  建立Maven項目

  File ----> New ----> Project ----> Maven

  勾選Create from archetype

  選擇maven-archetype-webapp

  點擊Next

圖片3

  輸入GroupId、ArtifactId點擊Next

圖片4

  選擇Maven的版本

圖片5

  輸入項目名稱和目錄,點擊Finish

圖片6

  建立項目後,點擊Import Changes按鈕,會下載須要的jar包和插件

圖片7

  Maven項目說明

  src/main/java:存放項目的.java文件

  src/main/resources:存放項目資源文件。如何Spring,Hibernate配置文件

  src/test/java:存放全部測試的.java文件.如Junit測試類

  pom.xml(maven項目核心配置文件)

  pom.xml默認內容介紹:

  <!-- maven中model的版本號 -->

  <modelVersion>4.0.0</modelVersion>

  <!-- 公司名稱或組織名稱或者我的名稱 -->

  <groupId>com.sky</groupId>

  <!--項目名稱 -->

  <artifactId>FirstMaven</artifactId>

  <!-- 版本號 -->

  <version>1.0</version>

  <!-- 打包方式 :項目類型

  POM:MAVEN項目,經常使用在繼承和聚合上

  JAR:JAVASE項目,沒有網頁,跟服務器不要緊

  WAR:JAVAEE項目,跟服務器不要緊-->

  <packaging>war</packaging>

  Maven工程添加依賴

  推薦網站:http://mvnrepository.com/

  示例:

  <dependencies>

  <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->

  <dependency>

  <groupId>org.hibernate</groupId>

  <artifactId>hibernate-core</artifactId>

  <version>5.2.10.Final</version>

  </dependency>

  </dependencies>

  添加到項目的pom文件內容說明(切換pom.xml到Dependencies目錄下):

  type:類型

  取值說明:

  jar:jar包

  Scope:聲明jar包的存活時間

  取值說明:

  一、provided:編譯和測試時須要

  二、compile:編譯、測試、運行、打包須要

  三、runtime:測試、運行、打包須要

  四、test:測試

  五、system:編譯和測試時須要,顯示引用,Maven不會檢索

相關文章
相關標籤/搜索