日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java基礎之初識Maven

瀏覽:21日期:2022-08-13 08:55:48
一、為什么使用Maven? 首先我們先靈魂拷問一下jar包是什么?我們可以將它理解為我們寫的一個Java程序,整個Java程序中由多個Java文件和依賴組成。了解清楚這個之后,接下來介紹我們?yōu)槭裁匆褂肕aven 很多小伙伴學習完Maven之后還是有個疑問,它是干什么用的?所以進入今天的內容前,我先按照自己的理解說明一下Maven Maven相當于一個倉庫管理員,它有本地倉庫和云端倉庫兩個倉庫與,它在本地倉庫中管理著我們創(chuàng)建的jar包,同樣的,我們可以通過遠程倉庫來使用別人的jar包,當然了,它有屬于自己的一套規(guī)范,只有這樣,才可以讓我們通過Maven來使用別人的包二、使用Maven的好處

既然Maven是管理jar包的,當然了,有關jar包的一些問題它都可以解決,比如下面的問題:

jar包之間的依賴關系

前面說了jar包相當于一個Java程序,因此jar包往往不是孤立存在,它也需要別的jar包支持才能正常工作,這就需要了解清楚jar包的依賴關系,Maven就提供了這個功能,幫助我們了解清楚依賴關系從而減少未來開發(fā)中可能會遇到的一些問題

jar包之間的沖突問題

既然需要調用別的jar包才能工作,當jar包之間都使用了另一個jar包的不同版本的時候,就會造成jar包沖突,別怕,Maven也可以解決這個問題

獲取第三方的jar包

我們在做項目時,需要調用一個三方的jar包,如果去這個jar包的網站上下載豈不是太麻煩了,使用Maven可以直接從中央倉庫下載,然后就可以很方便的調用這個jar包了

將項目拆分為多個工程模塊

在項目開發(fā)中,如果所有功能都使用一個工程模塊,那么需要修改某個功能就很麻煩,我們就需要將整個項目按照功能進行模塊拆分,但是當拆分后怎么相互調用和訪問呢?使用Maven可以清晰地了解項目拆分的情況

實現項目的部署

在實際生產環(huán)境中,項目規(guī)模增加到一定程度后,可能每個模塊都需要運行在獨立的服務器上,我們稱之為分布式部署,這里就需要用到Maven來完成項目的部署三、Maven是什么?

介紹完Maven的好處之后,我們正式開始學習Maven

Maven是自動化構建工具,構建是什么呢?,以Web項目舉例

我們可以將未編譯的Web工程比喻為一只生的雞,編譯好的Web工程是一只煮熟的雞,編譯部署的過程就是將雞燉熟 在實際項目中整合第三方框架,Web工程中除了Java程序和JSP頁面、圖片等靜態(tài)資源之外,還包括第三方框架的jar包以及各種各樣的配置文件。所有這些資源都必須按照正確的目錄結構部署到服務器上,項目才可以運行 構建就是以我們編寫的Java代碼、框架配置文件、國際化等其他資源文件、JSP頁面和圖片等靜態(tài)資源作為“原材料”,去“生產”出一個可以運行的項目的過程

接下來介紹一下構建的環(huán)節(jié)

1. 清理:刪除以前的編譯結果,為重新編譯做好準備。

2.編譯:將Java源程序編譯為字節(jié)碼文件。

3.測試:針對項目中的關鍵點進行測試,確保項目在迭代開發(fā)過程中關鍵點的正確性。

4.報告:在每一次測試后以標準的格式記錄和展示測試結果。

5.打包:將一個包含諸多文件的工程封裝為一個壓縮文件用于安裝或部署。Java工程對應jar包,Web工程對應war包。

6.安裝:在Maven環(huán)境下特指將打包的結果——jar包或war包安裝到本地倉庫中。

7.部署:將打包的結果部署到遠程倉庫或將war包部署到服務器上運行。

我們要構建一個jar包,就需要手動完成上面的步驟,使用Maven就可以自動的完成上述步驟,Maven之所以能夠實現自動化的構建,和它的設計是緊密相關的。我們對Maven的學習就圍繞它的九個核心概念展開

1.POM

2.約定的目錄結構

3.坐標

4.依賴管理

5.倉庫管理

6.生命周期

7.插件和目標

8.繼承

9.聚合

四、安裝Maven

第一步:我們需要下面兩個包,第一個的maven-bin.zpi這個,src是源碼,我們用不到,第二個是repo,它里面包含了一些常用的依賴包

Java基礎之初識Maven

第二步:我們將這兩個包放到一個文件夾中并解壓縮一下

Java基礎之初識Maven

第三步,配置環(huán)境變量

我的電腦?>右鍵?>屬性?>高級系統(tǒng)設置?>環(huán)境變量,然后跟前面配置Java一樣,我們先新建一個HOME

Java基礎之初識Maven第四步,添加pathJava基礎之初識Maven

第五步,測試一下是否成功:輸入命令: mvn -version

Java基礎之初識Maven

五、第一個Maven

我們先手動創(chuàng)建一下工程,感受一下,然后我再介紹怎么使用IDEA創(chuàng)建Maven工程

第一步:創(chuàng)建約定的目錄結構

Hello src ——main ————java ————resources ——test ————java ————resources pom.xml/*main目錄用于存放主程序。test目錄用于存放測試程序。java目錄用于存放源代碼文件。resources目錄用于存放配置文件和資源文件*/

第二步:創(chuàng)建Maven的核心配置文件pom.xml,先直接復制就好

<?xml version='1.0' ?><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.company.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><name>Hello</name> <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies></project>

第三步:編寫主代碼,在src/main/java/com/company/maven目錄下新建文件Hello.java

package com.company.maven;public class Hello {public String sayHello(String name){return 'Hello '+name+'!';}}

第四步:編寫測試代碼,在/src/test/java/com/company/maven目錄下新建測試文件HelloTest.java

package com.company.maven;import org.junit.Test;import static junit.framework.Assert.*;public class HelloTest {@Testpublic void testHello(){Hello hello = new Hello();String results = hello.sayHello('atguigu');assertEquals('Hello atguigu!',results);}}

第五步:運行幾個基本的Maven命令,運行Maven命令時一定要進入pom.xml文件所在的目錄

打開cmd命令行,進入Hello項目根目錄(pom.xml文件所在目錄)執(zhí)行mvn compile命令,查看根目錄變化cmd 中繼續(xù)錄入mvn clean命令,然后再次查看根目錄變化cmd 中錄入 mvn compile命令, 查看根目錄變化cmd 中錄入 mvn test-compile命令, 查看target目錄的變化cmd 中錄入 mvn test命令,查看target目錄變化cmd 中錄入 mvn package命令,查看target目錄變化cmd 中錄入 mvn install命令, 查看本地倉庫的目錄變化六、Maven本地倉庫的配置 Maven的核心程序并不包含具體功能,僅負責宏觀調度。具體功能由插件來完成。Maven核心程序會到本地倉庫中查找插件。如果本地倉庫中沒有就會從遠程中央倉庫下載。此時如果不能上網則無法執(zhí)行Maven的具體功能。為了解決這個問題,我們可以將Maven的本地倉庫指向一個在聯(lián)網情況下下載好的目錄 Maven默認的本地倉庫:~.m2repository目錄 Maven的核心配置文件位置:就在我們解壓目錄中的confsetting.xml文件中

<localRepository>以及準備好的倉庫位置</localRepository>

Java基礎之初識Maven

記得前面那個repo.zip么,我們將這個目錄添加到配置文件中

Java基礎之初識Maven

因為Maven是國外開發(fā)的,所以它的中央倉庫也是在國外,我們要安裝相關的jar可能需要翻墻(其實可以加個配置,使用國內的鏡像倉庫就好)直接在setting中添加下面的配置信息,我添加的是阿里的鏡像源,后面會講這個知識點,先照著我的寫

<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>七、IDEA配置Maven

前面手動創(chuàng)建只是為了讓大家了解它的構造,我們實際開發(fā)中當然不可能這么麻煩,直接在IDEA中配置就好第一步,打開Maven的配置設

Java基礎之初識Maven

第二步,設置maven的安裝目錄及本地倉庫

Java基礎之初識Maven

第三步,勾選配置

Java基礎之初識Maven

八、第二個Maven

第一步:新建一個項目MavenProject,直接右鍵,建立一個空白文件夾

Java基礎之初識Maven

第二步:右鍵→new Module→Maven→創(chuàng)建一個Hello工程模塊

Java基礎之初識Maven

Java基礎之初識Maven

main目錄用于存放主程序。test目錄用于存放測試程序。java目錄用于存放源代碼文件。resources目錄用于存放配置文件和資源文件

第三步 : 配置Maven的核心配置文件pom.xml

<?xml version='1.0' encoding='UTF-8'?><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 公司域名倒敘+項目名稱 --> <groupId>com.company.helloworld</groupId> <!-- 模塊名稱 --> <artifactId>Hello</artifactId> <!-- 版本號 --> <version>1.0-SNAPSHOT</version> <dependencies> <!-- 添加第三方jar包 --><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope></dependency> </dependencies></project>

第四步:編寫主代碼,在src/main/java目錄下新建文件Hello.java

package com.atguigu.maven;public class Hello { public String sayHello(String name){return 'Hello '+name+'!'; }}

第五步:編寫測試代碼,在/src/test/java目錄下新建測試文件HelloTest.java

package com.company.helloworld;import org.junit.Test;public class HelloTest { @Test public void testHello(){Hello hello = new Hello();String maven = hello.sayHello('Maven');System.out.println(maven); }}

第六步:使用Maven的方式運行Maven工程,在右側那個Maven中

Java基礎之初識Maven

九、Maven打包插件

在我們打包我們的項目時,默認是不會將我們使用的依賴進行打包的,如果想要將我們程序所需要的依賴連同我們的項目一起打包,Maven也可以做到,只需要將下面的內容放到pom.xml中就好了

<build> <plugins><plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration><descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs> <archive> <manifest> <!-- 指定主類 --><mainClass>xxx.xxx.XXX</mainClass> </manifest></archive> </configuration> <executions> <execution><id>make-assembly</id><phase>package</phase><goals> <goal>single</goal></goals> </execution> </executions></plugin> </plugins></build>十、總結

本章主要介紹了Maven的基本使用,學到這里我們要清楚知道,Maven就是為了方便工程管理的,它就是一個倉庫管理員,有本地倉庫和遠程倉庫,可以讓我們方便是使用別人開發(fā)好的jar包,也可以讓我們進行項目的部署與管理。

到此這篇關于Java基礎之初識Maven的文章就介紹到這了,更多相關Java Maven內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99视频精品全国免费| 九九九精品视频| 国产精品久久观看| 国产精品毛片在线| 日本少妇一区| 国产精品99久久精品| 日韩精品一区二区三区av| 91久久久精品国产| 久久国产影院| 肉色欧美久久久久久久免费看| 国产欧美大片| 国产精品亚洲欧美一级在线| 蜜桃久久av一区| 每日更新成人在线视频| 久久精品国内一区二区三区水蜜桃| 久久一区欧美| 欧美国产先锋| 亚洲精品电影| 国产精品一区2区3区| 欧美/亚洲一区| 日韩黄色在线观看| 免费欧美一区| 日韩国产在线| 欧美日韩一区二区高清| 日韩欧美综合| 精品伊人久久久| 色8久久久久| 日韩一区二区久久| 四虎4545www国产精品| 日本aⅴ亚洲精品中文乱码 | 国产私拍福利精品视频二区| 青青久久av| 福利一区二区免费视频 | 夜夜精品视频| 成人日韩在线| 久久a爱视频| 国产丝袜一区| 久久国产免费看| 日本一区免费网站| 亚洲欧洲av| 免费国产亚洲视频| 水蜜桃久久夜色精品一区的特点| 中文字幕在线官网| 色婷婷亚洲mv天堂mv在影片| 欧美视频精品全部免费观看| 亚洲bt欧美bt精品777| 伊人久久大香线蕉av超碰演员| 亚洲夜间福利| 久久av一区| 蜜桃视频一区二区三区| 一级成人国产| 亚洲人成亚洲精品| 亚洲91网站| 国产精品一区二区精品| 97se亚洲| 国产成年精品| 麻豆国产在线| 日韩视频精品在线观看| 精品国产美女a久久9999| 日韩在线观看| 日本一区二区高清不卡| 国产在线观看www| 免费久久精品| 日本在线一区二区三区| 国产精品v一区二区三区| 国产成人免费精品| re久久精品视频| 天堂久久一区| 日韩国产综合| 好看不卡的中文字幕| 亚洲精品乱码| 精品国产一区二区三区噜噜噜| 亚洲二区免费| 综合一区二区三区| 麻豆精品av| 激情91久久| 麻豆精品久久久| 日韩av首页| 日韩精品免费观看视频| 天堂√中文最新版在线| 亚洲精品乱码| 亚洲a在线视频| 日本精品另类| av不卡免费看| 亚洲天堂av影院| 日韩高清在线观看一区二区| 久久国产电影| 免费看一区二区三区| 久久国产精品亚洲77777| 精品免费视频| 日韩动漫一区| 国产亚洲精品自拍| 日韩大片在线播放| 国产精品中文| 日韩一区精品视频| 黄色日韩精品| 香蕉久久国产| 精品久久久中文字幕| 欧美特黄一区| 精品亚洲成人| 亚洲精选久久| 色爱av综合网| 日韩欧美中文字幕一区二区三区| 精品国产中文字幕第一页| 欧美中文日韩| 好看的亚洲午夜视频在线| 成人午夜网址| 亚洲精品麻豆| 国产在线成人| 视频在线不卡免费观看| 日本va欧美va瓶| 国产午夜精品一区二区三区欧美| 毛片不卡一区二区| 玖玖精品视频| 午夜日韩福利| 欧美日韩激情| 新版的欧美在线视频| 国产精品久久久久久久久久久久久久久 | 天堂俺去俺来也www久久婷婷| 精品一区在线| 日韩黄色大片网站| 精品黄色一级片| 日韩成人av影视| 亚洲一区二区小说| 亚洲一级大片| 日韩一区欧美二区| 午夜国产精品视频免费体验区| 久久久91麻豆精品国产一区| 午夜亚洲福利| 久草精品视频| 国产aa精品| а√天堂8资源在线| 久久免费精品| 久久精品国产999大香线蕉| 久久99久久久精品欧美| 精品国产午夜肉伦伦影院| 91免费精品| 久久国产中文字幕| 午夜日韩在线| 首页国产欧美久久| 亚洲深爱激情| 日韩精品免费一区二区夜夜嗨| 精品亚洲成人| 午夜国产一区二区| 国产亚洲一区| 午夜久久中文| 欧美福利在线| 亚洲精品在线二区| 久久不卡日韩美女| 91精品啪在线观看国产18| 狠狠爱成人网| 美女av一区| 欧美中文一区| 国产91久久精品一区二区| 中文字幕亚洲影视| 国产精品久久久久久久久久10秀 | 亚洲综合五月| 成人欧美一区二区三区的电影| 日韩欧美二区| 久久亚洲一区| 麻豆精品视频在线| 久久夜色精品| 红桃视频欧美| 久久精品国产亚洲夜色av网站| 欧美片第1页综合| 激情综合网站| 久久精品国产成人一区二区三区| 午夜在线精品偷拍| 久久精品五月| 久久精品99国产精品| 亚洲激情社区| 麻豆精品视频在线观看免费| 亚洲欧美网站| 秋霞影院一区二区三区| 国产精品免费看| 另类av一区二区| 美女少妇全过程你懂的久久| 日本一区二区免费高清| 麻豆国产91在线播放| 日韩欧美精品一区二区综合视频| 中国女人久久久| 久久夜色精品| 午夜视频一区二区在线观看| 在线精品亚洲| 亚洲香蕉久久| 日韩三级久久| 日本久久一区| 亚洲免费福利一区| 婷婷综合网站| 久久九九精品| 激情欧美一区二区三区| 午夜精品成人av| 99久久亚洲精品蜜臀| 欧美精品一区二区三区精品| 日韩一区欧美| 亚洲a在线视频| 一区二区三区四区在线观看国产日韩| 视频一区欧美精品| 欧美精品影院| 色婷婷综合网|