日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven添加子工程_重量级!Maven史上最全教程,看了必懂

發布時間:2023/12/10 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven添加子工程_重量级!Maven史上最全教程,看了必懂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者?|?小明菜市場來源 |?小明菜市場(ID:fileGeek)頭圖 |? CSDN?下載自東方IC

前言

為了持續集成和持續部署,需要把項目改造為,或者使用maven創建項目,下面介紹maven

為什么要使用maven

在開發中經常需要依賴第三方包,包與包之間存在依賴關系,版本之間存在兼容問題,還有需要把包進行升級和降級,當項目復雜到了一定程度的時候,需要對包進行管理。

maven是當前最受歡迎的自動化綜合工具,類似的還有ant,npm,nuget,composer。

maven提供了開發人員構建一個完整生命周期的框架,開發團隊可以自動化的完成項目的基礎工具建設,maven使用標準目錄結構和默認構建生命周期, 因此maven是一個項目管理工具。主要做了以下幾件事情

  • 統一開發規范與工具。

  • 統一管理jar包

  • maven生命周期

    maven把項目構建劃分為不同的生命周期,它這個過程包括編譯,測試,打包,集成測試,驗證,部署,maven的所有執行動作都需要指明自己在這個過程的執行位置,然后在maven執行的時候,依照過程的發展依次調用包進行處理。這個是maven的一個基本的調度機制,

    1、maven的標準工程結構

    |-- pom.xml(maven的核心配置文件)|-- src|-- main |-- java(java源代碼目錄) |-- resources(資源文件目錄)|-- test |-- java(單元測試代碼目錄)|-- target(輸出目錄,所有的輸出物都存放在這個目錄下) |-- classes(編譯后的class文件存放處)

    2、Maven的約定優于配置

    所謂的約定優于配置,在maven中,并不是完全不可以修改,他們只是一些配置的默認值。每一個階段的任務都知道自己要這么正確的完成自己的工作,比如compile任務就知道從src/main/java下編譯所有的java文件,并把它的輸出的class文件存放到target/classes文件中。對于maven來說,采用約定優于配置,可以減少工作量,降低學習成本。

    Maven版本規范

    groupId - 團體、組織的標識符。團體標識的約定是,它以創建這個項目的組織名稱的逆向域名(reverse domain name)開頭。一般對應著 JAVA 的包的結構。例如 org.apache artifactId - 單獨項目的唯一標識符。比如我們的 tomcat, commons 等。不要在 artifactId 中包含點號(.)。version - 一個項目的特定版本。packaging - 項目的類型,默認是 jar,描述了項目打包后的輸出。類型為 jar 的項目產生一個 JAR 文件,類型為 war 的項目產生一個 web 應用。maven版本規范一般定義為、、-處理邏輯的版本號為SNAPSHOT - 這個版本一般用于開發過程中,表示不穩定的版本。LATEST - 指某個特定構件的最新發布,這個發布可能是一個發布版,也可能是一個 snapshot 版,具體看哪個時間最后。RELEASE - 指最后一個發布版。

    安裝

    配置環境變量

    (1)解壓壓縮包(以 apache-maven-3.3.9-bin.zip 為例)(2)添加環境變量 MAVEN_HOME,值為 apache-maven-3.3.9 的安裝路徑

    (3)在 Path 環境變量的變量值末尾添加%MAVEN_HOME%bin

    (4)在 cmd 輸入 mvn –version,如果出現 maven 的版本信息,說明配置成功。

    本地倉儲配置

    從中央倉庫下載的jar包都會統一的保存在本地倉庫中,我們需要配置本地倉庫的位置。在conf目錄下的setting.xml文件。

    第一個maven工程

    在 Intellij 中創建 Maven 工程

    (1)創建 Maven 工程依次點擊 File -> New -> Project 打開創建工程對話框,選擇 Maven 工程。

    (2)輸入項目信息

    (3)點擊 Intellij 側邊欄中的 Maven 工具界面,有幾個可以直接使用的 maven 命令,可以幫助你進行構建。

    Maven 命令構建方式

    進入工程目錄,輸入maven命令

    使用指導

    添加外部依賴 jar 包

    在maven工程中添加 jar 包,只需要在 pom 文件中引入對應的標簽即可。 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.zp.maven MavenDemo 0.0.1-SNAPSHOT jar MavenDemo http://maven.apache.org UTF-8 3.8.1 junit junit ${junit.version} test log4j log4j 1.2.12 compile 標簽具有四個屬性。 - 項目組織唯一的標識符,實際對應 JAVA 的包的結構。 - 項目唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。 - jar 包的版本號。可以直接填版本數字,也可以在 properties 標簽中設置屬性值。 - jar 包的作用范圍。可以填寫 compile、runtime、test、system 和 provided。用來在編譯、測試等場景下選擇對應的 classpath。如何尋找 jar 包

    在 ?mvnrepository.com 站點搜尋你想要的 jar 包版本

    使用 maven 插件

    要添加 Maven 插件,可以在 pom.xml 文件中添加標簽。 org.apache.maven.plugins maven-compiler-plugin 3.3 1.7 1.7

    一次編譯多個工程

    需要創建一個父 maven 工程,它有兩個字工程,my-app,my-webapp+- pom.xml+- my-app| +- pom.xml| +- src| +- main| +- java+- my-webapp| +- pom.xml| +- src| +- main|?????+-?webappapp 工程的pom.xml 如下,重點在于 modules 中引入了兩個子 module 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"> 4.0.0 com.mycompany.app app 1.0-SNAPSHOT pom my-app my-webapp 選擇編譯 某某 時,會依次對它所有的 module 執行相同的操作。

    如何打包一個可以直接運行的Spring Boot jar 包

    可以使用 Spring-boot-maven-plugin 插件 org.springframework.boot spring-boot-maven-plugin repackage 如果引入了第三方jar包,如何打包 首先,添加依賴 io.github.dunwu dunwu-common 1.0.0 system ${project.basedir}/src/main/resources/lib/dunwu-common-1.0.0.jar然后配置插件 org.springframework.boot spring-boot-maven-plugin repackage true

    最佳實踐

    通過 bom 統一管理版本 使用類似 spring-boot-dependencies的方式統一管理依賴版本 spring-boot-dependencies的pom.xml的形式<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0modelVersion><groupId>org.springframework.bootgroupId><artifactId>spring-boot-dependenciesartifactId><version>2.1.4.RELEASEversion><packaging>pompackaging><dependencyManagement> <dependencies> dependencies>dependencyManagement><build><pluginManagement> <plugins> plugins>pluginManagement>build>project>其他項目中,通過引入來管理依賴 <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-dependenciesartifactId> <version>${spring-boot.version}version> <type>pomtype> <scope>importscope> dependency> dependencies>dependencyManagement>

    更多精彩推薦

    ?阿里馬濤:重新定義云時代的開源操作系統 | 人物志

    ?代碼攻擊破壞設備,炸毀 27 噸發電機的背后

    ?算力至上?AI芯片大對決

    ?牛!發出中國第一封電子郵件,注冊登記域名 CN,中國互聯網之父傳奇

    ?長沙 · 中國1024程序員節盛況空前,500 萬程序員線上線下引爆星城

    ?“國產操作系統最大難題在于解決「生產關系」” | 人物志

    ?一口氣看完45個寄存器,CPU核心技術大揭秘

    點分享點點贊點在看

    總結

    以上是生活随笔為你收集整理的maven添加子工程_重量级!Maven史上最全教程,看了必懂的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。