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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] * [Pom.xml](Pom.md) # 使用maven 管理項目 ## 1.1. 基本要素 | 要素??????? | 說明???????????????????????????????????????????????????????? | | ----------- | ------------------------------------------------------------ | | 技術邊界??? | Maven是一個項目管理工具,基于xml,用于管理Java項目的構建、依賴和文檔。| | 特性??????? | 聲明式構建、依賴管理、統一的項目結構、生命周期、插件等|? | 使用場景??? | Java項目的構建與依賴管理|? | 應用方法?? | Maven的生命周期階段(clean、compile、test、package、install、deploy)、<br>依賴范圍(compile、test、runtime等)、<br>插件(maven- compiler-plugin等)| | 項目結構關系 | pom.xml文件定義項目元信息, src/main/java源代碼,src/test/java測試代碼,src/main/resources資源等| |實施關鍵流程|1. 安裝Maven <br> 2. 創建Maven項目: mvn archetype:generate <br>3. 編寫pom.xml:包括配置依賴、插件等 <br>4. 編譯項目:mvn compile<br>5. 運行測試:mvn test <br>6. 打包:mvn package <br>7. 安裝到本地倉庫:mvn install <br>8. 部署到遠程倉庫:mvn deploy| ## 1.2. 項目包 ### 1.2.1. 可以按層拆分(中小型)項目和按模塊拆分(大型)項目。 ①大型項目:只需要將基礎模塊打包成jar包放在遠程倉庫,其它開發者添加配置就可以進行開發。 > 大型項目模塊拆分 - account模塊:處理賬戶業務,定義pom.xml - order模塊:處理訂單業務,定義pom.xml - user模塊:處理用戶業務,定義pom.xml - 項目根目錄:定義pom.xml,通過modules標簽聲明所有模塊 ②中小型項目:中小型項目按照傳統項目分為Web、Service業務層、Dao數據層,依照員工自身的業務能力分配工作。 > 中小型項目層級拆分 - 項目根目錄:定義全局pom.xml,包含項目版本、依賴、插件配置 - web層:包含web項目,定義pom.xml繼承項目pom,添加web依賴 如spring-web、servlet-api等 - service層:包含業務邏輯,定義pom.xml繼承項目pom,添加spring-context依賴 - dao層:包含數據訪問,定義pom.xml繼承項目pom,添加數據庫驅動依賴等 - entity層:包含實體對象,不需定義pom.xml - util層:包含工具類,不需定義pom.xml ### 1.2.2. 一鍵構建項目:使用命令可以對項目進行一鍵構建,操作系統中無需安裝eclipse和tomcat。 如:mvn tomcat:run。更多常用命令: ①clean:清理; ②compile:編譯,只編譯main目錄,不編譯test中的代碼; ③test-compile:編譯test目錄中的代碼; ④test:運行test里邊的代碼; ⑤package:打包 - java項目->打成jar包; - web項目->打成war包: ⑥install:發布項目到本地倉庫,用在打jar包上,打成jar包可以被其他項目使用; ### 1.2.3. Maven命令的生命周期: ①Clean生命周期:clean; ②Default生命周期:compile、test-compile、test、package、install ③Site生命周期:site命令,生成項目描述文檔靜態頁; ④不同的生命周期可以一起執行例如先clean再compile; ### 1.2.4. Maven命令的執行順序: ①在相同生命周期中的命令才會受執行順序的影響: ②Default生命周期中的命令執行順序: compile <-test-compile <-test <-package <-install; ### 1.2.5. 是否打包依賴屬性<Scope> >依賴作用域也可稱作依賴范圍:maven中的依賴,會根據程序所處的階段和場景發生變化,所以maven用scope屬性來做限制; |scope作用域 | 編譯階段Compile | 測試階段Test | 運行階段Run | 提供階段Package | 示例 | | :-- | :-- |:-- |:-- | :-- |:-- | | compile(默認) | 支持 | 支持 | 支持 | 不支持 |spring-context| | test | 不支持 | 支持 | 不支持 | 不支持 | junit | |runtime | 不支持 | 不支持 | 支持 | 支持 | mysql-connector-java| |provided | 不支持 | 不支持 | 支持 | 支持 | servlet-api | |system | 支持 | 支持 | 支持 | 不支持 | com.xxx.jar | |import | 不支持 |不支持 | 不支持 | 支持 | javax.servlet-api| > 支持情況列表: - compile:編譯階段、測試階段和運行階段有效,被依賴項目需要包含此依賴。 - test:僅測試階段有效,被依賴項目不需要包含此依賴。 - runtime:僅運行階段和提供階段有效,被依賴項目需要包含此依賴。 - provided:僅提供階段有效,被依賴項目不需要包含此依賴,運行環境已提供。 - system:編譯階段、測試階段和運行階段有效,被依賴項目需要包含此依賴,Maven不會在中央倉庫中找到它。 - import:僅提供階段有效,被依賴項目需要包含此依賴,用來導入dependencyManagement中聲明的依賴版本號。 ### 1.2.6. Maven模塊化開發。 ```[sequence] Title: 徐 Service子項目-->>Base父項目: 繼承至 Mapper子項目-->>Base父項目: 繼承至 Web子項目-->>Base父項目: 繼承至 Web子項目->Service子項目: 依賴 Service子項目->Mapper子項目: 依賴 Service子項目->Besn孫項目: 依賴 ``` ①maven 子項目可以繼承父項目的依賴。 ②上圖將Maven-ssm-bean打包成jar,引入到 Maven-ssm-mapper、service、web/pom.xml做為依賴。分別就可以正常開發了。 ### 1.2.7. 使用Nexus搭建私服。 > Nexus是Maven私服,用于搭建企業內部的Maven倉庫,主要有以下作用: 1. 代理中央倉庫,加速Jar包下載。 2. 存儲企業內部發布的Jar包,實現企業內部的Jar包共享。 3. 作為企業內部的Release倉庫,管理企業內部發布的Release版本。 4. 實現企業內部的Snapshot版本管理。 5. 提供強大的REST API,易于與CI服務器集成,實現自動化發布。 > 下面以Nexus3為例,說明如何搭建Maven私服: 1. 下載Nexus3安裝包,并解壓。進入bin目錄下。 2. 啟動Nexus: ./nexus start 3. 訪問Nexus:默認地址http://localhost:8081,默認賬號密碼:admin/admin123。 4. 創建代理倉庫:選擇選擇中央倉庫centralMirror,同步中央倉庫的所有jar。 5. 創建releases倉庫:接收發布的Release版本jar。 6. 創建snapshots倉庫:接收發布的Snapshot版本jar。 7. 創建倉庫組,將上述三個倉庫聚合起來,方便Maven下載。 8. 修改企業內部Maven settings.xml: ``` xml <settings> <mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/repository/maven-public/</url> </mirror> </mirrors> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url>http://localhost:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://localhost:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings> ``` 9. 進入項目根目錄,運行mvn deploy將項目部署到私服。 10. 其他項目只需引入私服地址即可下載使用。 熟練搭建和使用Maven私服,可以極大提高企業內部jar包與dependencies的共享效率,統一管理各環境下的版本。
                  <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>

                              哎呀哎呀视频在线观看