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。
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>