<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Maven [TOC] ## 導學 Maven是一個項目管理工具,在之前的課程中,我們一個項目使用了多個jar包,這對于我們來說是比較麻煩的,不同的jar包之間可能相互依賴,也有可能產生沖突。在這種情況下,如何去保證我們的jar包使用正確呢?Maven就能極好的解決這個問題。 在本節課程中,需要掌握Maven的核心特性,依賴管理以及打包方式。 ## Maven介紹 **Maven介紹:** * Maven是項目管理工具,對軟件項目提供構建和依賴管理 * Maven是Apache下的Java開源工具 * Maven是Java項目提供了統一的管理方式,已成為業界標準 >[warning]日常開發痛點: >1. 不同的IDE之間創建的項目結構不同,是不能互通的,eclipse中創建的項目就不能拿到idea中運行。 >2. 一個Java軟件需要多種Jar包支持,到處下載很麻煩。 >3. 一個Java項目打包無外乎jar包與war包,如何采用一個更統一更方便的方式呢? **Maven核心特性:** * 項目設置遵循統一的規則,保證不同開發環境的兼容性 * 強大的依賴管理,項目依賴組件自動下載、自動更新 * 可擴展的插件機制,使用簡單,功能豐富 ## maven的安裝與配置 **首先需要安裝和配置好jdk!** maven是由Java所編寫的一款軟件,所以需要先安裝好jdk。 下載地址:[http://maven.apache.org/](http://maven.apache.org/) ![](https://img.kancloud.cn/9c/93/9c93936b199afbfc7f8b98322bcc88ba_439x36.png) 下載完成后,解壓。并將bin目錄添加到系統環境變量path中。 打開cmd,輸入`mvn -version`,出現如下畫面就成功了。 ![](https://img.kancloud.cn/28/19/2819c19130f0a269500334977897f90e_993x519.png) **修改默認倉庫** maven默認將C盤作為下載Jar包后存放的倉庫,為了節約C盤空間需要修改maven的倉庫。 找到conf文件夾下的conf目錄,打開setting.xml文件 ![](https://img.kancloud.cn/07/8e/078e62b015442e7bb69554b720d8f68a_1362x620.png) 改為: ![](https://img.kancloud.cn/78/b5/78b5acaf9768889491f81e2a4da630eb_1362x620.png) 驗證: ![](https://img.kancloud.cn/d0/48/d0488a467fbbc35d2321be00807967df_993x519.png) **修改遠程倉庫** 遠程倉庫指的是maven從何處下載jar包,因為默認采用的是國外的地址,下載速度較慢,所以需要設置為國內阿里云的鏡像倉庫。 ~~~ <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> </mirrors> ~~~ ![](https://img.kancloud.cn/f2/8c/f28cd5e45bf27579c32829b50f7cad81_1362x620.png) **整合maven到eclipse和idea** ![](https://img.kancloud.cn/14/95/14959ad40bb595263b35164ab7807b87_828x342.png) 打開preferences ![](https://img.kancloud.cn/59/8d/598dbd694130b53c526501863f0a0e81_658x562.png) ![](https://img.kancloud.cn/e7/d0/e7d0c2b167db747049f4f3eaae0a99c8_525x454.png) ![](https://img.kancloud.cn/eb/72/eb72e49136dcc16544c218628804aa9b_658x562.png) 關于idea集成maven,可以打開File-Settings-Build,Execution,Deployment-Build Tools-Maven選項中設置,設置步驟類似。 也可以使用idea自帶的maven插件,只需要打開該對應插件中的setting.xml配置本地倉庫和鏡像中央倉庫。 ## 創建maven項目 ![](https://img.kancloud.cn/23/1f/231ff0ff2eca6957a68bd44dcb988834_525x500.png) ![](https://img.kancloud.cn/ab/77/ab777bd52d9bea7e3b3ad7957b3aa278_650x584.png) ![](https://img.kancloud.cn/d9/40/d9405ac85fc2adf21f3aac7b2e345b08_898x386.png) ![](https://img.kancloud.cn/3f/d0/3fd0878e93c0b328e2c7eb9373bdd4ad_650x584.png) ![](https://img.kancloud.cn/26/8f/268fbf1df74210cadb062aa97def560d_1366x746.png) ![](https://img.kancloud.cn/5e/a2/5ea25db622be7e9c635122f399c0101e_957x481.png) ## maven依賴管理 **依賴管理:** 1. Maven利用dependency(依賴)自動下載、管理第三方jar; 2. 在pom.xml文件中配置項目依賴的第三方組件 3. maven自動將依賴從遠程倉庫下載至本地倉庫,并在工程中引用 ![](https://img.kancloud.cn/60/3d/603db93b6dd36984b2c22c2acd8632f0_657x370.png) 可以在該pom.xml中添加一個dependencies的根標簽。 并去[https://search.maven.org](https://search.maven.org/)中查找對應jar包的依賴 比如,我現在添加該依賴就可以下載對應的mysql連接驅動。 ~~~ <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.dodoke</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> </dependencies> </project> ~~~ 比較復雜的組件由多個jar包組合,maven對組件進行深入解析,對所有jar包進行下載。 ## 本地倉庫與中央倉庫 在我們使用maven之前,其實我們已經去設置了中央倉庫為阿里云的鏡像倉庫,而且也設置了本地倉庫為c盤之外的其他盤符。 那么,究竟什么是maven的中央倉庫與本地倉庫呢? ![](https://img.kancloud.cn/3d/a6/3da6b7c9983cb9c6a8db20c79f5c7795_748x187.png) 當我們使用maven的時候,我們可以通過pom.xml下載對應的jar包。其實maven會經歷如下的步驟: 1. 解析pom.xml,分析要下載的內容 2. 查看本地倉庫,查找是否已經下載過該jar包 3. 如果沒有該jar包,將前往中央倉庫下載該jar包到本地倉庫 4. 在下載好以后或本地存在該jar,則自動的將該jar包添加到項目中 其實在之前的設置中,我們設置了maven默認下載的阿里云提供的中央倉庫中保存的jar包。但是這在我們正式開發中不怎么建議。 通常我們會設置單獨某個項目采用私服(代理服務器,保存有備份的jar包,最有名的就是阿里云的私服)的倉庫,比如我們會在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.dodoke</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <repositories> <repository> <id>aliyun</id> <name>aliyun</name> <!-- 可能阿里云倉庫的地址會發生變化,需要查找最新的地址 --> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> </dependencies> </project> ~~~ 這樣就可以設置單個項目的jar下載,優先從阿里云私服下載,如果私服沒有,才從maven官網下載。 ## 項目打包 Maven可以將項目打包成jar和war包,Maven項目打包是通過Plugins(插件)來實現的,Maven輸出Jar包的插件叫做`maven-assembly-plugin` ~~~xml <!-- 與dependencies節點同級 --> <build> <!-- 打jar包的配置插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <!-- 盡管已經有更高版本的插件,但是2.5.5是一個經典版本 --> <version>2.5.5</version> <!-- 配置 --> <configuration> <!-- 指定入口類 即帶有main方法的類--> <archive> <manifest> <mainClass>com.dodoke.maven.JDBCTest</mainClass> </manifest> </archive> <!-- 額外參數 --> <descriptorRefs> <!-- all in one 在打包時將所有引用的jar(包括非自己寫的類)合并到輸出的jar文件中 --> <descriptorRef> jar-with-dependencies </descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build> ~~~ ![](https://img.kancloud.cn/9e/09/9e096cd50e1a56b53139c2940492bca6_1366x746.png) **如何運行,生成jar包** 1. 選擇run菜單中的Run Configurations命令-選擇Maven build創建新運行命令 ![](https://img.kancloud.cn/55/65/556570d0307446711219409d30416453_890x732.png) ![](https://img.kancloud.cn/11/49/114939df3c7c3ba6f3af44a61362bc26_890x732.png) 2. 運行新命令 ![](https://img.kancloud.cn/9e/dd/9edd6ad869592394e6e5e233e3026881_1366x746.png) 3. 生成的jar包 ![](https://img.kancloud.cn/36/f3/36f391138725ac92d09ed364dfa83f36_1206x622.png) ## maven創建Java web項目 創建Java web,其實對于maven來說,步驟和創建普通Java項目一樣。 但是要注意修改一下maven項目使用的jdk和編譯級別(默認使用jdk 1.5) ![](https://img.kancloud.cn/ce/6a/ce6a897353d27e03d15f4cf8eec016cd_359x582.png) 項目上右鍵選擇properties,選擇Java compiler ![](https://img.kancloud.cn/f7/44/f744ae409c66812a7aded10f32ed876f_840x721.png) 創建保存網頁的文件夾 ![](https://img.kancloud.cn/9e/fc/9efcafe8540b3d293089f5eae9e38174_351x290.png) **這時前期的準備工作就已經完成了。** 接下來,需要將普通工程轉變為Java web工程,同樣項目上右鍵選擇properties ![](https://img.kancloud.cn/b4/20/b4208512ae4807edb1ace85b9604f09e_726x738.png) ![](https://img.kancloud.cn/2d/98/2d98f435fa1d14c1b93984d3192b9b04_1007x738.png) ![](https://img.kancloud.cn/f4/4f/f44f576a6b078dce8622a5c36464e811_525x445.png) ![](https://img.kancloud.cn/2f/bc/2fbc9b15155080ac5269024fa440e52b_359x582.png) ## web工程打包 ~~~ <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.dodoke</groupId> <artifactId>maven</artifactId> <version>1.0.0-SNAPSHOT</version> <!-- packaging代表輸出格式,只有jar和war兩種格式,如果沒寫,默認輸出jar包 --> <packaging>war</packaging> <repositories> <repository> <id>aliyun</id> <name>aliyun</name> <!-- 可能阿里云倉庫的地址會發生變化,需要查找最新的地址 --> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <!-- 定義輸出的war包的文件名 --> <finalName>maven-web</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven.war.plugis</artifactId> <version>3.2.2</version> </plugin> </plugins> </build> </project> ~~~ 同樣新增創建一個新的打包運行命令: ![](https://img.kancloud.cn/a7/a6/a7a62d6e14f4849553ac4c39a5f802b4_890x732.png) ## maven常用命令 ![](https://img.kancloud.cn/df/cd/dfcdc3f8b0b9dfb1e1b98800996feee2_985x404.png) 之前我們都是在eclipse中使用maven,其實我們也可以通過控制臺創建maven項目。 本節內容僅做了解 ## idea中使用maven **普通Java項目** ![](https://img.kancloud.cn/8e/ff/8eff4aa67b3108237dc6d6712d8ed21b_1366x738.png) ![](https://img.kancloud.cn/9e/73/9e7331bdd9fc40cd4b0284fd4aca42ee_1366x738.png) ![](https://img.kancloud.cn/d5/ff/d5ff484c105aa3443a0939ce6da7e2b3_1366x746.png) **創建Java Web項目** [https://blog.csdn.net/qq\_37856300/article/details/85776785](https://blog.csdn.net/qq_37856300/article/details/85776785)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看