maven的理解認識------練習版、面試版
maven是什麼?
[百度百科] Maven是基於專案物件模型(POM project object model),可以通過一小段描述資訊(配置)來管理專案的構建,報告和文件的軟體專案管理工具
用人話說: Maven是一個專案管理工具,它的核心功能便是合理敘述專案間的依賴關係,
通俗點講,就是通過pom.xml檔案的配置獲取jar包,而不用手動去新增jar包,而這裡pom.xml檔案對於學了一點maven的人來說,就有些熟悉了,怎麼通過pom.xml的配置就可以獲取到jar包呢?pom.xml配置檔案從何而來?等等類似問題我們需要搞清楚,如果需要使用pom.xml來獲取jar包,那麼首先該專案就必須為maven專案,maven專案可以這樣去想,就是在java專案和web專案的上面包裹了一層maven,本質上java專案還是java專案,web專案還是web專案,但是包裹了maven之後,就可以使用maven提供的一些功能了(通過pom.xml新增jar包)。
Maven的基本原理很簡單,採用遠端倉庫和本地倉庫以及一個核心的配置檔案pom.xml,pom.xml中定義的jar檔案從遠端倉庫下載到本地倉庫,各個專案使用同一個本地倉庫的jar,同一個版本的jar只需下載一次,而且避免每個應用都去拷貝jar。同時它採用了現在流行的外掛體系架構,所以maven的核心非常的小,只有幾兆大小的檔案,在執行maven任務時,才會自動下載需要的外掛。
manven常見的配置有哪些?
pom.xml基礎配置:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.framework.version>3.0.5.RELEASE</spring.framework.version> <cxf.version>2.3.2</cxf.version> <tiles.version>2.2.2</tiles.version> </properties>
如果我需要讓整個專案統一字符集編碼
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>;
如果我需要讓spring統一版本號
<spring.framework.version>3.0.5.RELEASE</spring.framework.version>,
當然,maven不會那麼乖乖的自動識別這些配置。
當然,<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
外掛配置:
資源配置外掛:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
如果你用eclipse建立maven專案時,新建的專案往往JDK版本很低——1.5!怎麼辦?修改settings.xml檔案
<profile>
<id>jdk-1.6</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
</profile>
eclipse會很聽話的構建一個JDK1.6版本的maven專案!
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.5</version>
</dependency>
</dependencies>
之前有說過groupId、artifactId、version唯一標識一個Maven專案,有了這三個元素,我們就可以去遠端倉庫下載。
下面是一個典型的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>org.keplerproject</groupId>
<artifactId>luajava</artifactId>
<version>1.1</version>
<packaging>jar</packaging>
<name>luajava</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
更詳細配置可參考:
相關推薦
maven的理解認識------練習版、面試版
maven是什麼? [百度百科] Maven是基於專案物件模型(POM project object model),可以通過一小段描述資訊(配置)來管理專案的構建,報告和文件的軟體專案管理工具 用人話說: Maven是一個專案管理工具,它的核心功能便是合理敘述專
在 Windows 10 專業版、企業版或教育版上設置展臺
change 次數 桌面 nes launcher 展開 新建 -c 企業 原文: 在 Windows 10 專業版、企業版或教育版上設置展臺 Set up a kiosk on Windows 10 Pro, Enterprise, or Education 適用於
Bootstrap3基礎 nav 便簽頁(橫版、豎版)
學習資源 lin wid image studio contain con 屏幕 doctype 禮悟: 公恒學思合行悟,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉養身心,誠勸且行且珍惜。
軟體或jar包版本的小知識---Beta版、Final版、Free版等
對於各種軟體或jar包,其後面總有不同的“尾巴”,如: 等,剛開始接觸的肯定有些不知道。那麼他們到底代表什麼意思呢? 0.Release:釋出版 1.Beta版:產品釋出之前的測試版, 2.Free版:免費版 3.Full版:完全版 4.Final版:正式版 5.Pr
solr單機版、叢集版整合spring
一、引言 今個起個大早,陽光依舊耀眼,趕緊把solr剩下未完成的結束掉。solr單機版、叢集版咱們都已經搭建好了,之前solr單機版也使用java中的solrj來維護索引庫,那麼今天講下solr叢集版
將win10家庭版、教育版系統啟用為win10專業版
1.首先,我們先檢視一下Win10正式專業版系統的啟用狀態: 點選桌面左下角的“Windows”按鈕,從開啟的擴充套件面板中依次點選“設定”-“更新和安全”,並切換到“啟用”選項卡,在此就可以檢視到當前系統的啟用狀態。 2.接下來在桌面左下角的“cortana”搜尋框中輸
win10專業版、家庭版 credssp 加密 oracle 修正 連線伺服器報錯
遠端桌面使用的是“憑據安全支援提供程式協議 (CredSSP) ”,這個協議在未修補的版本中是存在漏洞的。 於是微軟在 2018 年 3 月 13 日在補丁中解決了這個問題,但是預設並沒有強制使用新的協議,因為一旦強制使用,假如伺服器端和客戶端不匹配,將無法連線。所
比較 Windows 10 家庭版、專業版、企業版和教育版
win10主要版本為家庭版、專業版、企業版、教育版和移動版等。 家庭版最為簡介,適合最基礎的個人使用者,完全能夠滿足一般日常辦公學習、影音娛樂遊戲等; 專業版是家庭版的升級版,比家庭版多瞭如下功能(
【轉】alpha版、beta版、rc版的意思
很多軟體在正式釋出前都會發布一些預覽版或者測試版,一般都叫“beta版”或者 “rc版”,特別是開源軟體,甚至有“alpha版”,下面來解釋一下各個版本的意思。alpha版:內部測試版。α是希臘字母的第一個,表示最早的版本,一般使用者不要下載這個版本,這個版本包含很多BU
二階切比雪夫多項式實現(scala版、python版)
一維二階切比雪夫多項式和二維二階切比雪夫多項式 scala版參考: http://hxfcalf.blog.163.com/blog/static/21575548201373124214412 http://hxfcalf.blog.163.com/blog/static
QQ輕聊版、TIM版無法修改個人資料夾位置的解決方法
QQ輕聊版、TIM版均有這個BUG:如果電腦上之前沒有安裝過QQ完整版(比如我新裝的虛擬機器),那麼QQ輕聊版、TIM版裡面,設定修改個人資料夾位置將無法生效。在QQ輕聊版、TIM版設定介面修改個人資料夾位置後,會提示轉移資料檔案,之後會重啟輕聊版/TIM,但重啟後的登入介
hibernate 級聯刪除策略(註解版、資料庫版)
資料庫中的表一般都是相互關聯的,它們通過foreign key產生關係。 定義foreign key約束時可以指定三種引用行為:delete cascade、delete set null、delete no action,預設是delete on action。它們的含義
GCC 64位程式的makefile條件編譯心得——32位版與64位版、debug版與release版(相容MinGW、TDM-GCC)
為了適應現在越來越流行的64位系統,經常需要將程式碼分別編譯為32位版和64位版。其次,除了需要生成debug版用於開發測試外,還需要生成release版用於釋出。本文介紹瞭如何利用makefile條件編譯來生成這些版本,而且不僅相容Linux下的GCC,還支援MinGW、TDM-GCC等Windows
Oracle企業版、標準版及其他版本的異同
針對不同的開發和部署環境,Oracle公司將同一系列Oracle資料庫分成四個版本:標準版 One (Standard Edition One)、標準版(Standard Edition)、企業版(Enterprise Edition)和個人版(Personal Editi
【安裝】Windows下 TensorFlow 的安裝(包含:CUP版、GPU版、CUDA、cuDNN)——最後更新日期 2018-05-30
____tz_zs您可以直接使用pip安裝tensorflow,只需一行程式碼就安裝好了。cpu版:pip3 install --upgrade tensorflow·gpu版:pip3 install --upgrade tensorflow-gpu·但是,推薦您使用Ana
discuz教程:電腦版、手機版去除標題title中的Powered by Discuz!
Discuz! X3.2電腦版、手機版預設模板去除標題title中的Powered by Discuz!的方法 電腦版: 開啟 /template/default/common/header_common.htm 檔案 找到<title><!--{if !empty($navtitle)}-
深入理解計算機系統(第三版) 練習2.15
練習題 2.15 只使用位級和邏輯運算,編寫一個C表示式,他等價於x==y。換句話說,當x和y相等時他將返回1,否則返回0 因為 x ^ y 只會在x == y時為0,所以我們可以利用這一性質得到這個
一、母版頁、子母版頁、頁面之間的關系
default viewbag 分享 mps pad jquery err sel brush 母版頁和子母版頁,功能的頁面之間的關系,在不同功能的頁面怎麽進行差異化管理樣式和腳本,提高頁面的響應速度,使頁面更加簡潔。 頁面布局的結構圖: 一、子母版頁_Edit
正宗Djiango框架(Bootstrap 、Django母版、Cookie)
rom html 配置 signed -- obj https tick 發送 一. Bootstrap 一個包含CSS和JS的一個代碼庫 -- 樣式 -- 響應式 @media關鍵字 --導航條 @media(nin-width:768px){
速讀《深入理解計算機系統(第三版)》問題及解決
情況 csdn 第六章 填充 以及 函數 順序 時鐘 管理所 第一章 計算機漫遊 P13:用戶棧和運行時堆有什麽區別?數據結構中經常說堆棧,這裏的堆和棧一樣嗎?和操作系統的堆、棧有什麽區別? 參考:堆和棧的區別(內存和數據結構) 操作系統: 棧:由操作系統自動分配釋放