Maven - notes 1 Maven是什麼與怎麼裝。

PS: 本文是東拼西湊抄的筆記,可以直接去看參考的文章。
弱弱地推一下自己的hub博

Maven - notes 1

【背景】假設我們開發一個項目,或者做一個小demo,如果用···,那麼我們就必須將···所依賴的jar包依次找出來,並手動導入。這個過程會想象一下就比較繁瑣。

Maven是基於項目對象模型(POM, project object model),可以通過一小段描述信息(配置)來管理項目的構建,報告和文檔的軟件項目管理工具

主要作用:

  • 選擇獲取(特定版本的)jar包。

  • 尋找依賴,下載依賴。

  • 熱部署,熱編譯。(減免重啓服務器/重新部署)

目錄結構

常見的簡單結構

┬ /.settings
├ /src
│ ├ /main
│ └ /test
├ /target
│ └ /class
├ .classpath
├ .project
└ pom.xml
路徑/文件 主要用途
/src 主要存放源代碼文件,其中一般有兩個文件目錄;
/src/main 放用於運行項目的代碼,再下一級的目錄就是各種package。
/src/test 放用於測試項目的代碼,同時都擁有resource資源文件。
/target 放編譯後的代碼。
pom.xml 資源文件,確定該項目需要使用哪些jar包的座標,並通過該座標在中央倉庫進行自動下載。

Tips: 所以 pom.xml 大概是怎麼做的?

<dependencies>
<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.2.5</version>
</dependency>
</dependencies>

通過三個元素標識一個Maven項目,IDE就能去遠程倉庫下載了。

安裝與配置

Win10

前提:建議先裝好JDK。

  • 訪問官網
  • 找到下載
  • 選對文件(win10應該選bin.zip吧?)
  • 查看官方指南
  • 解壓到合適的路徑
  • 把bin目錄的絕對路徑,加入系統環境變量PATH
  • 命令行輸入mvn -v看看返回的版本信息。

IDEA

???

目錄結構

┬ /bin
├ /boot
├ /conf
│ ├ /logging
│ ├ settings.xml
│ └ toolchains.xml
├ /lib
├ LICENCE
├ NOTICE 
└ README.txt
路徑/文件 主要用途
/bin 放Maven的啓動文件,包括兩種:一種是直接啓動,另一種是通過debug模式下啓動。
/boot 放類加載器框架。
/conf 放全局配置文件setting.xml,即爲所有倉庫都實施的配置。倉庫也有私有配置的setting,一般推薦使用私有配置,因爲全局配置在Maven的安裝目錄裏。
/lib 放Maven運行需要的各種jar包。
LICENCE Maven的軟件使用許可證書
NOTICE Maven包含的第三方軟件
README.txt Maven的簡單介紹以及安裝說明

解決下載——鏡像

因爲衆所周知的原因,在國內用Maven一般情況是很難下載到東西的。

現在一般都是在setting.xml<mirrors>標籤里加阿里雲的鏡像就可以了。

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

解決下載——代理

一般是個人希望用工具去下官方倉庫的東西,或者有特殊的任務需求才會用把。

能代理的前提是,你有一個可以ping得通repol.maven.org的代理服務器訪問權哦。

<proxy>
	<id>optional</id>    //代理Id
	<active>true</active>   //是否要激活
	<protocol>http</protocol>  //採用協議
	<username>proxyuser</username>   //如果代理需要認證就需要賬號密碼
 	<password>proxypass</password>
    <host>proxy.host.net</host>  // ip
	<port>80</port>   //端口
	<nonProxyHosts>local.net|some.host.com</nonProxyHosts>  
    //不需要代理的主機ip用戶|隔開,例如裏面的some.host.com,即所有對這個網站的訪問都不需要代理

</proxy>

參考

【長】Maven從入門到精通

【長】maven(一) maven到底是個啥玩意~

【中】Maven是什麼?

【短/附書】Maven的作用到底是什麼

【電子書/要註冊】Maven實戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章