1. 程式人生 > 其它 >Spring+SpringMVC+MyBatis+easyUI整合基礎篇(五)講一下maven

Spring+SpringMVC+MyBatis+easyUI整合基礎篇(五)講一下maven

作者:13 GitHub:https://github.com/ZHENFENG13 版權宣告:本文為原創文章,未經允許不得轉載。

前言

專案展示地址,點這裡http://ssm-demo.hanshuai.xin,賬號:admin 密碼:123456

下一篇文章開始,所有的專案原始碼都是與maven整合後的程式碼了,所以這一篇講一講maven。

簡單介紹

我們看一下github上一些開源專案的目錄結構,下圖中有mybatis、netty、dubbo這些比較有影響的專案,在每個專案中都可以看到一個pom.xml檔案,這就是maven的配置檔案。

那麼maven是什麼呢?

百度百科中是這麼說的

Maven專案物件模型(POM),可以通過一小段描述資訊來管理專案的構建,報告和文件的軟體專案管理工具。

當然,繼續看下去,還是會有很多專業名詞,如果你是剛入門的話,可以暫時不去看這些,有時間可以慢慢研究。其實Maven是一個專案管理和整合的工具,並且為開發者提供了一套完整的構建生命週期框架。

使用感受

以前經常碰到的情況就是,往往一個跳槽來的新同事會問,“用過maven嗎?怎麼不用maven?”等問題,也是有些尷尬的搭不上話,偶爾在網上看程式碼的時候也會看到maven專案,但是不會用。那時候也就是因為剛入行,人比較懶吧,也不去看不去學。其實很多人一開始對於maven的印象,認為maven就是一個下載jar包的外掛而已,我一開始也是一樣,並不是太在意,上手了一段時間後,才體會到maven不僅僅是一個管理jar包依賴的工具。

按我的理解,maven有茫茫多的好處,比如:

  • 方便管理各種庫檔案依賴
  • 標準化構建流程
  • 提升開發者效率
  • 在持續整合中扮演重要作用。

對於開發效率和部署效率的提升真的是使我印象深刻,流程的標準化也可以減少很多人為因素可能帶來的錯誤,當然,如果還沒有上手過maven專案的來說,我的建議最好是趕緊將maven整合進專案中,以上的種種好處你也會慢慢體驗到,而且網上教程資源那麼多,完全不用擔心無法入門,想要進階的話也可以看看《Maven實戰》這本書。

在這篇文章中我也只是簡單講一下自己對於maven的使用心得,總結的有些簡單,其實是想告訴看到此文的你,像maven、gradle這些可以明顯提升開發效率的工具真的要用到專案中,一個高效率的工作狀態應該是我們每一個技術人的追求。

安裝與整合

大致總結了以下步驟:

  • 1、下載官方檔案
  • 2、解壓並配置maven的環境變數
  • 3、執行maven -v 驗證
  • 4、與開發軟體整合

windows下maven的安裝點這裡

linux下maven的安裝點這裡

安裝後就是與eclipse或者idea等開發軟體整合的事情啦。

eclipse與maven整合點這裡 idea與maven整合點這裡

這些都是需要自己花點時間去研究的東西,而且網上教程也多,就直接放了感覺不錯的教程的連結地址。

Maven倉庫

由於預設的倉庫地址是國外網址,會對下載速度有一定的影響,下載jar包時,如果沒有將倉庫設定為國內連結的話,可能會導致下載慢的情況,這種情況也很好解決,設定國內映象或者國內倉庫,當然也可以自己搭建私服,有時間的話會單獨寫一個搭建私服的文章,想了解的也可以自己先搜一下相關教程。

推薦一個搜尋jar包的maven依賴時常用地址:http://mvnrepository.com/

幾個國內可用的maven repository連線: http://maven.oschina.net/content/groups/public/ http://maven.oschina.net/content/repositories/thirdparty/

首推的是阿里雲的Maven倉庫地址:

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

setting.xml檔案

settings.xml檔案是用來設定maven引數的配置檔案,並且,settings.xml是maven的全域性配置檔案,而pom.xml檔案是所在專案的區域性配置。

settings.xml中包含類似本地倉儲位置、修改遠端倉儲伺服器、認證資訊等配置。

關於setting.xml介紹可以看一下這篇文章

下面是一個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">
    <!-- 本地倉庫:本地存放jar包的資料夾位置 -->
    <localRepository>/xx/xx</localRepository>
    <pluginGroups>
    </pluginGroups>
    <proxies>
    </proxies>
    <servers>
    </servers>
    <!--加速映象,也可以考慮阿里雲的maven映象 -->
    <mirrors>
        <mirror>
            <id>UK</id>
            <mirrorOf>central</mirrorOf>
            <url>http://uk.maven.org/maven2</url>
        </mirror>
        <mirror>
            <id>net-cn</id>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.net.cn/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>osc</id>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.oschina.net/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>osc_thirdparty</id>
            <mirrorOf>thirdparty</mirrorOf>
            <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>osc</id>
            <activation>
                <!--當前使用的遠端倉庫為osc-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>osc</id>
                    <!--當前使用的遠端倉庫地址 -->
                    <url>http://maven.oschina.net/content/groups/public/</url>
                </repository>
                <repository>
                    <id>osc_thirdparty</id>
                    <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>osc</id>
                    <url>http://maven.oschina.net/content/groups/public/</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>net-cn</id>
            <repositories>
                <repository>
                    <id>net-cn</id>
                    <url>http://maven.net.cn/content/groups/public/</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>net-cn</id>
                    <url>http://maven.net.cn/content/groups/public/</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
</settings>