1. 程式人生 > >對maven的通俗理解,good

對maven的通俗理解,good

前言: maven專案也是一個專案,類似於javaProject,javaWebProject,就是多了些功能,其他也沒啥,所以大家接觸的時候不要害怕!

1 . 幫你下載jar包 
maven專案會有一個 pom.xml檔案, 在這個檔案裡面,只要你新增相應配置,他就會自動幫你下載相應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/maven-v4_0_0.xsd">   <modelVersion>4.0.0</modelVersion>    <groupId>exam</groupId>    <artifactId>exam_3</artifactId>    <packaging>war</packaging>    <version>0.0.1-SNAPSHOT</version>    <dependencies>     <dependency>       <groupId>junit</groupId>       <artifactId>junit</artifactId>       <version>3.8.1</version>       <scope>test</scope>     </dependency>     <dependency>         <groupId>org.springframework</groupId>         <artifactId>spring-web</artifactId>         <version>3.0.5.RELEASE</version>     </dependency>     <dependency>         <groupId>org.springframework</groupId>         <artifactId>spring-webmvc</artifactId>         <version>3.0.5.RELEASE</version>     </dependency>     </dependencies> </project>

以上主要看的<dependencies>結點裡面的內容, 
裡面每配置一個<dependency>, 
<groupId>org.springframework</groupId> 專案名 
<artifactId>spring-webmvc</artifactId> 專案模組 
<version>3.0.5.RELEASE</version> 專案版本 
maven都會通過,專案名-專案模組-專案版本來maven在網際網路上的程式碼庫中下載相應jar包。
所以這就是maven的功能之一,幫你下載jar包

2 . 尋找依賴,幫你下載依賴

 
尋找jar包是第一基本功能,尋找依賴在這個是在這個基礎上的功能。 
在maven的程式碼庫中,每一個jar包也有自己的 pom.xml檔案,而這個檔案裡面也會有<dependency>配置,什麼依賴範圍我就不細說了,我想表達的就是,只要你配置的jar包所依賴的其他jar包都會被maven自動下載下來。 
例如: 你配置了

    <dependency>         <groupId>org.springframework</groupId>       <artifactId>spring-core</artifactId>        <version>2.6</version>   </dependency>

你要maven幫你下載spring-core-2.6.jar包 
而這個jar包裡面需要用到commons-logging.jar這個包, 
這叫就依賴,spring-core-2.6.jar依賴於commons-logging.jar。 
這就是maven第二個作用,幫你下載依賴包。

3 . 熱部署,熱編譯 
意思就是,在你web專案已經執行的時候,修改程式碼的能直接被web伺服器所接受,就不需要你 重啟伺服器了,或者重新部署程式碼了,而且你可以直接通過maven 打包war或者jar專案。

相關推薦

maven通俗理解good

前言: maven專案也是一個專案,類似於javaProject,javaWebProject,就是多了些功能,其他也沒啥,所以大家接觸的時候不要害怕! 1 . 幫你下載jar包  maven專案會有一個 pom.xml檔案, 在這個檔案裡面,只要你新增相應配置,他就

this的理解關鍵字super與this的區別

可用 父類 子類構造方法 屬性 方式 構造 使用方法 並且 this this關鍵字: 1、調用本類中的屬性(成員變量); 2、調用本類中的方法; 3、調用本類中的其他構造方法,調用時要放在構造方法的首行。 註意this只在非靜態方法中使用,靜態方法和靜態代碼不能出現thi

struts2簡單理解未完待續

一、struts2的概念 來自百度百科:         Struts2是一個基於MVC設計模式的Web應用框架,它本質上相當於一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與檢視的資料互動

vue 項目總結以及未來的理解性能方面的認知

自動化處理 在一起 管理 模塊 寫法 註冊 個數 start 分析 之前自己寫了一個vue項目,因為沒有經驗,所以很多方面的提升做的不好,比如說路由、比如說ajax都沒有封裝,比如說業務邏輯和通用邏輯都混合在一起,導致大片大片重復的代碼累積。忽悠忽悠沒入門的前端感覺還是很好

Socket的理解Socket使用TCP/IP如何實現通訊

什麼是Socket? socket是進城間通訊的一種機制 Socket如何實現通訊 兩個程序實現通訊,首先要找到對方,由於IP只能唯一標識計算機地址,所以還要加上TCP協議和埠號,因為TCP協

處理大併發之一 epoll的理解epoll客戶端服務端程式碼

處理大併發之一 對epoll的理解,epoll客戶端服務端程式碼 序言: 該部落格是一系列的部落格,首先從最基礎的epoll說起,然後研究libevent原始碼及使用方法,最後研究nginx和node.js,關於select,poll這裡不做說明,只說明其相對於epoll的

stm32記憶體理解檢視以及面試題的一些總結(一)

基礎知識儲備 1、keil中如何調用出map檔案,以及map檔案的作用 我是拿正點原子的標準工程來使用分析。 如何獲得map檔案, 雙擊工程名即可得到map檔案。 2、map檔案包含哪些東西 1.Section CrossReferences:模組、段(入口)

CISC與RISC 指令集通俗理解非常有趣

感謝匿名人士的投遞 新聞來源:魅族論壇 這裡就不去管細節,簡單來談一下,ARM和X86之間為什麼不太具有可比性的問題。要搞清楚這個問題首先要明白什麼是架構,之前也有很多人提到了架構不同,但架構是什麼意思?它是一個比較抽象的概念,不太容易用幾句話就解釋清楚。 我們要明白CPU是一個執行部件,它之所以能執行,也

Redis的理解Redis是什麼Redis和Memcache誰快?

轉載時必須以連結形式註明原始出處及本宣告。 前段時間微博發生了一起大的系統故障,結果說是因為Redis叢集的問題,很多技術的朋友都比較關心,其中的原因不會超出James Hamilton在On Designing and Deploying Internet-S

阿里Java崗一面被問到Spring的理解懵了?這些你又瞭解多少

還在機械地打程式碼?我們很多開發者在開發 Spring 的程式的時候,很多的情況下,都是被動的接受了前輩們為我們做好的 Spr

Yii2中 yiiwebUser的理解和自建的appmodelsUser(基礎版)frontendmodelsUser的應用原理

end his iat getter authent property 用戶id tails uniq yii\web\User 是一個統稱,為用戶,沒有具體實例,只能管理; 此處以app\models\User為基準; app\models\User 是映射數據表us

每天一個JS 小demo之韓雪冬輪播圖。主要知識點:htmlcss布局對於數組和象的理解和運用

身高 全局 borde ava ebo 空間 use mouseout desc 1 @charset "utf-8"; 2 /* CSS Document */ 3 4 * { padding: 0; margin: 0; } 5 li { list-st

【計算機基礎】主機名IP域名端口DNS服務器的通俗理解

net 例如 本地 房子 新的 數字 baidu 域名解析 什麽   在很早的時候,世界上只有幾臺計算機,這幾臺計算機的擁有者想互相連接起來以方便聊天約炮,怎麽辦呢?他們給各自的計算機起了一個名字,比如張三,李四,王二,以後他們就通過這個計算機名字來相互連接。這幾個名字可以

js 象的封裝繼承多態的理解

def mat fin ++ argument 通過 pre 實現 blog //對象的繼承,這裏采用構造函數繼承+類式繼承 function Person(name,sex,age){ this.name = name; this.sex = sex; this.

使用eclipsemaven項目打包時報 invalid LOC header (bad signature)異常處理

http switch ati exception ogg 異常處理 name .org and 在eclipse上打包,報錯: [INFO] Including org.codehaus.groovy:groovy-all:jar:2.4.3 in the shade

軟件工程作業2.1:闡述軟件工程的理解學完這門課自己能學到什麽學完後能做什麽

包括 數據結構和算法 很多 上線 可維護性 修復 學習 應用 實現 對軟件工程這門課的理解   軟件工程是把系統的、有序的、可量化的方法應用到軟件的開發、運營和維護上的過程。在軟件工程中,遠遠不止很多人以為的只是單純地進行軟件開發,其實真正的軟件開發的時間只是軟件工程中的一

象的深度拓展$.extend(true,{},a,b)深入理解小心陷阱

com ges 深入理解 沒有 裏的 事物 cnblogs wid 希望 轉載:https://www.cnblogs.com/DJeanWeb/p/4388689.html $.extend一般情景下,使用深度拓展兩個對象時,我們想要的效果是,b對象覆蓋掉a對象中存在的

one hot 編碼的理解sklearn. preprocessing.OneHotEncoder()如何進行fit()的?

查閱了很多資料,逐漸知道了one hot 的編碼,但是始終沒理解sklearn. preprocessing.OneHotEncoder()如何進行fit()的?自己琢磨了一下,後來終於明白是怎麼回事了。 先看one hot 的編碼的理解:引用至:https://blog.csdn.net/wy250229

spring中xml配置的初步理解併成功注入(spring jar包版本號一定要同一)

//.java package com.learning.ioc.interfaces; public interface OneInterface { public void say(String arg); } package com.learning.ioc.int