Maven核心
常用構建命令
常用命令
mvn –v
compile
test
package
clean 刪除Maven生成的專案目標檔案target
install :安裝jar包到本地倉庫中
建立目錄的兩種方式:
1. archetype:generate按照提示進行選擇
2. archetype:generate–DgroupId=組織名.公司網址的反寫.專案名
-DartifactId=專案名-模組名
-Dversion=版本號
-Dpackage=程式碼所在的包名
install詳解
當Maven包下管理多個專案的時候,一個專案maven02中使用到了另外一個專案maven01當中的類,需要import引入該包的地址
import com.terence.maven01.model.HelloWorld;
但是測試的時候仍然編譯不通過,這是因為,兩個專案之間沒有什麼關係,此時需要將包含maven01中的那個類的jar包引入過來才可以編譯成功,此時需要進入maven01目錄下,使用install命令,將包含這個類的專案jar包釋出到本地倉庫中,方便其他專案使用。
此時,專案mavne02仍舊不能編譯成功,還需要在配置檔案中引入依賴的jar包,即maven01專案的座標。
對Maven02專案的配置檔案pom.xml新增依賴如下:
#####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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.terence.maven02</groupId>
<artifactId>maven02-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>com.terence.maven01</groupId>
<artifactId>maven01-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
此時如果需要用到配置檔案的jar包,maven會自動根據配置檔案將對應的jar包新增到ClassPath當中,專案便可以通過路徑變數到本地倉庫中尋找對應的jar包,如果這個jar包不存在,會從網路上下載對應的jar包到中央倉庫中。
到這個地方,Maven專案管理的優勢已經體現了出來,專案編譯執行會根據專案配置檔案pom.xml的描述內容通過變數路徑到本地倉庫尋找對應的依賴jar包,如果這個包不存在,會自動到網路上下載相應的包,不會像手動新增jar包一樣新增了一些不必要的jar包而且還要手動新增到ClassPath路徑當中。
archetype詳解(自動建立目錄)
Archetype外掛的引入,用於建立複合Maven規定的目錄骨架,提高開發效率。
》在MavenCode目錄下建立一個資料夾maven03
》Dos介面進入maven03目錄
》建立專案目錄結構,輸入命令:mvn archetype:generate,此時,如果是第一次自動建立目錄,則需要從網路上下載一些依賴檔案,時間會久一點,等待一下就好。
直到出現以上介面,遇到上述第三行906提示直接回車,第一個紅線處提示讓選擇快速建立的archetype外掛版本,輸入:6,即上圖第一個紅線的位置,然後輸入專案的座標groupId、artifactId、version等資訊,最後輸入package包名,回車即可,出現下圖的配置確認、配置成功等資訊。
另一種快速建立Maven目錄的方式就是一次性闖將命令
mvn archetype:generate-DgroupId=com.imooc.maven04 -DartifactId=maven04-demo -Dversion=1.0.0-SNAPSHOT -Dpackage=com.imooc.maven04-demo
然後一步到位的自動執行,過程中直接回車、輸入版本號6、輸入y,最後闖將成功。
核心概念
座標
外掛、依賴都是構件,要找到一個構件,就需要一個準確的座標,而Maven專案的座標則是:(groupId、artifactId、version)
groupId=com.imooc.maven04 組織名.公司網址的反寫.專案名
artifactId=maven04-demo 專案名-模組名
version=1.0.0-SNAPSHOT 版本號
所有這些構件都存在於倉庫當中。
倉庫
倉庫分為兩種:本地倉庫和遠端倉庫,如果本地倉庫找不到這個構件就會到遠端倉庫中尋找,將找到的構建下載到本地倉庫,如果遠端倉庫也找不到,就會報錯。
Maven提供的一個預設的倉庫地址:
在本機Maven解壓包:C:\Program Files\Apache SoftwareFoundation\apache-maven-3.1.1\lib
尋找到maven-model-builder-3.3.1.jar
對其解壓,找到maven-model-builder-3.1.1.jar\org\apache\maven\model下的pom.4.0.0.xml,它提供了比價全的依賴。
###pom.4.0.0.xml檔案
<project>
<modelVersion>4.0.0</modelVersion>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
……
上述<url>元素內容http://repo.maven.apache.org/maven2是中央倉庫的地址(可以輸入瀏覽器檢視中央倉庫內容資源),遠端中央倉庫包含了java開發將近全部的依賴檔案、框架資源等資訊;<enabled>元素是false,表示禁止下載快照版本;
映象倉庫
映象倉庫是國內的倉庫,使用該倉庫更快更穩定,訪問陳功率更高。
在maven解壓包C:\Program Files\Apache SoftwareFoundation\apache-maven-3.1.1\conf 找到setting.xml檔案,在該檔案的映象描述中,有這樣一段:
<mirrors>
<!-- mirror
| Specifies a repository mirrorsite to use instead of a given repository. The repository that
| this mirror serves has an IDthat matches the mirrorOf element of this mirror. IDs are used
| for inheritance and directlookup purposes, and must be unique across the set of mirrors.
| -->
<mirror>
<id>maven.net.cn</id> <!—國內映象倉庫標識-->
<mirrorOf>central</mirrorOf> <!—中央倉庫對映-->
<name>central mirror in china</name><!—國內倉庫名-->
<url>http://maven.net.cn/content/groups/pulibc</url>
<!—國內映象倉庫url地址-->
</mirror>
</mirrors>
上述<mirror>元素中的內容是特意設定的,亦可不設定,如果不設定,則使用預設設定。
更改倉庫位置
通常本地倉庫存放位置都是在使用者目錄下的.m資料夾下的repository檔案中,此時在setting.xml檔案中的設定不需要更改,則預設在此倉庫。
如果需要更改倉庫地址,在需要在setting.xml檔案中更改<localRepository>元素的倉庫路徑。
例如:如果需要將其存在工作空間中的repo資料夾下,此時在<localRepository>標籤中設定如下:
<localRepository>C:\Users\Terence\workspace\repo<localRepository>
然後將setting.xml放在該目錄下。
Eclipse與maven
Eclipse中安裝maven外掛
如果Eclipse版本是4.0以上,或者安裝了MyEclipse,都不需要整合Maven外掛;否則,都需要向Eclipse中整合maven外掛,以便使用Eclipse自動建立Maven專案。
外掛安裝
將M2E外掛,放在Eclipse中的F:\JAVA\Hibernate\eclipse\dropins目錄下;或者---
在Eclipse-->Help->Install New Software-->Add:
Name:Maven
Location: http://m2eclipse.sonatype.org/sites/m2e
然後點選OK,執行載入外掛。
修改配置檔案
1.在F:\JAVA\Hibernate\eclipse目錄下修改Eclipse.ini檔案,新增以下的粗體部分
……
Org.eclipse.platform
--launcher.XXMacpermSize
512m
-vm
C:\ProgramFiles\Java\jdk1.7.0_80\bin\javaw.exe
--launcher.defaultAction
openFile
……
2.修改Eclipse JREs
Eclipse是執行在JRE之上的,而Maven是用到JDK的,所以要修改一下Eclipse的JREs,方便Maven找到JDK。
Windows-->performances-->Java-->InstalledJREs-->選擇JDK的目錄新增JDK1.7.0_80 ,新增即可。
更改Maven 預設配置
在繼承Maven的eclipse中,windows--->prefrences---->Maven--->Installation--->檢視外掛安裝情況,如果沒有,則將新下載的maven檔案add進去;
最後在user Setings中確保配置檔案的路徑是之前配置了mirror的配置檔案setting.xml路徑:C:\Users\Terence\.m2\repository
然後點選apply->OK,就可以了。
接下來開始利用Maven外掛建立專案了。
Eclipser中自動建立Maven專案
專案建立
》Eclipse-->New-->Project-->Maven Project-->
按照上述步驟選擇建立web專案
新增座標:
專案編譯、測試、打包
此時開啟專案testWeb,看到pom.xml專案管理描述檔案,右擊pom.xml--》Run As---》Maven Build……,在Goal方框中填入編譯命令:compile
控制檯如果編譯成功,則繼續測試,如果報錯,則需要設定一個引數:
步驟:重新進入Windows--performances---Java---Installed JREs,點選新增的jdk1.7.0_80---Edit,在Default VM Arguments後面新增引數:-Dmavn.multiModuleProjectDirectory=$M2_HOME,即新增Maven目錄。
隨後再按照上述步驟重新編譯:compile
按照上述步驟測試,在Goal方框中填入編譯命令:test
按照上述步驟打包,在Goal方框中填入編譯命令:package
Maven生命週期和外掛
Maven強大的一個重要的原因是它有一個十分完善的生命週期模型(lifecycle),這個生命週期可以從兩方面來理解。
第一,顧名思義,執行Maven的每個步驟都由它來定義的,這種預定義的預設行為使得我們使用Maven變得簡單,相比而言,Ant的每個步驟都要你手工去定義。
第二,這個模型是一種標準,在不同的專案中,使用Maven的介面是一樣的,這樣就不用去仔細理解每個專案的構建了,一般情況下,mvn clean install 這樣的命令是通用的。我想,一定是吸收了許多專案的經驗,Maven才能定義出如此完善的模型 。
前面已經學過幾個常用命令:clean/compile/test/package/install,同時這也是一個專案的完整構建過程。
生命週期
嚴格來說一個專案的生命週期:清理、編譯、測試、打包、整合測試、驗證、部署;(clean/compile/test/package/install)
Maven專案可以劃分為三個生命週期,對應三個階段(clean/package/install),後面一個階段依賴於前面一個階段。
階段一:clean 清理專案
階段二:default 構建專案
階段三:site 生成專案站點
根據上述三個階段,可以知道少了compile和test這兩個過程,但是實際當中,在package的同時,已經執行了compile和test。
特別強調:Maven的三個生命週期是相互獨立的,你可以僅僅呼叫clean來清理工作目錄,僅僅呼叫site來生成站點。當然你也可以直接執行 mvn clean install site 執行所有這三套生命週期。
階段細化
Clean: 清理專案
(pre-clean 執行清理前的工作)
(clean 清理上一次構建生成的檔案)
(post-clean 執行清理後的檔案)
default 構建專案(核心)
(compile/test/package/install)
site 生成專案站點
(pre-site 在生成專案站點前要完成的工作)
(site 生成專案的站點文件)
(post-site 在生成專案站點後要完成的工作)
(site-deploy 釋出生成的站點到伺服器上)
引入外掛
配置檔案
Eclipse只支援JDK,其他的所有功能都是通過第三方外掛來實現的。
舉個栗子
使用sources外掛來打包原始碼。
在maven專案中的專案管理檔案pom.xml檔案修改配置:
……
<build>
<finalName>testWeb</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
……
解釋:首先配置source外掛的座標(groupId、artifactId、version);然後將該外掛的原始碼打包功能繫結在<phase>package</phase>專案的package下一同執行。
執行
Pom.xml---》run As--->Maven build……--->Goal:clean package
此時執行的兩個命clean和Package,根據控制檯可以知道:
Clean:在執行前清理以前的執行檔案
Package:執行這一步之前就已經執行了compil/test,最後執行了package打包為jar包。
由此可知,後面每一個階段的執行都依賴於前一個階段,前面的階段都會自動執行。
pom.xml元素介紹
專案管理檔案,用於專案描述、組織管理、依賴管理和構建資訊的管理。
下面介紹一些專案中pom.xml檔案常用到的元素。
pom.xml基本元素
連結:http://blog.csdn.net/csdn_terence/article/details/53811318
參考連結:http://blog.csdn.net/jiangyu1013/article/details/52424726
<!--project:pom的根元素;約束資訊 -->
<projectxmlns="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.0http://maven.apache.org/maven-v4_0_0.xsd">
<!-- modelVersion制定了當前pom的版本,是必不可少的 -->
<modelVersion>4.0.0</modelVersion>
<!-- 專案座標(groupId、artifactId、version):定義當前pom檔案是屬於哪個maven專案
maven專案是一種模組化的概念,裡面將專案劃分為模組。
groupId=反寫公司網址.專案名
artifactId=專案名-模組名
version=0.0.1SNAPSHOP
(第一個0表示大本版號,第二個0表示分支版本號,第三個0表示小版本號)
(版本除了snapshop快照版本之外,還有alpha--α內測版本、beta--β公測版本、Release穩定版本、GA釋出版本)
-->
<groupId>com.my.mavenweb</groupId>
<artifactId>testWeb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- packaging:指定了專案的打包方式,如果內容為空,預設指定打包為Jar包,此外,還要war、zip、pom等型別-->
<packaging></packaging>
<!-- name:指定了專案的描述名,一般在產生物件文件的時候才會使用 -->
<name>testWebMaven Webapp</name>
<!--URl:指定了專案的Url -->
<url>http://maven.apache.org</url>
<!-- description:專案描述資訊
developers:開發人員資訊
licenses:開源框架的許可證資訊
organization:組織資訊
-->
<descriprion></descriprion>
<developers></developers>
<licenses></licenses>
<organization></organization>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springversion>3.1.1.RELEASE</springversion>
<junitversion>3.8.1</junitversion>
</properties>
<!--
dependencies:依賴資訊列表
dependency:依賴項
groupId、artifactId、version:依賴項的位置座標,方便查詢依賴。
type:依賴項的型別,jar/war/zip/pom等型別
scope:依賴範圍,是指當前依賴項在哪個範圍內有效。
potional:依賴是否可選,預設為false,則專案可以繼承該依賴;如果為true,則子專案必須顯式引入該依賴
exclusions:排除依賴的傳遞列表
exclusion:排除依賴,例如排除傳遞依賴中自己不需要的依賴項
-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junitversion}</version>
<type></type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springversion}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
<!--
dependencyManagement:依賴管理,主要是針對父模組列出依賴項進行管理,使得下面需要某個父模組的模組直接繼承該依賴,
不用進行傳遞依賴這麼麻煩,但是該標籤不會引入到執行當中,只起到一個說明作用。
-->
<dependencyManagement>
<dependencies>
<dependency></dependency>
</dependencies>
</dependencyManagement>
<!--
build:系統專案構建行為知識
plugins:引入的外掛的列表
plugin:外掛,這個標籤下需要宣告外掛的座標,
-->
<build>
<finalName>testWeb</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--
parent:通常用於子模組對父模組POM的整合
modules:用於聚合執行多個專案,指定多個模組一起編譯。
-->
<parent></parent>
<modules></modules>
</project>
Maven依賴範圍
先看下面一段程式碼:
……
<dependencies>
……
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junitversion}</version>
<type></type>
<scope>test</scope>
</dependency>
……
……
上述標籤元素<scope> </scope>表示依賴範圍
平時開發如果需要某一個框架,就需要將該框架的jar包新增到ClassPath,Maven為我們提供了三種classpath:編譯、測試、執行;
而上述的<scope>test</scope>表示juint只存在於測試的classpath。
<scope>屬性
- Compile:在編譯時有效。
- Provided:在編譯和測試時有效
- Runtime:測試和執行時有效
- Test:只在測試的時候有效
- System:在編譯和測試時有效,與本機系統相關聯,可移植性差。
- Import:匯入的範圍,它只使用在dependencyManagement中,表示從其他的pom中匯入dependency的配置,表示是從吉他地方繼承過來的依賴。
例如:
……
<denpendencyManagement>
<dependencies>
……
<dependency>
<groupId>maven</groupId>
<artifactId>A</artifactId>
<version>1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
……
</dependencies>
</denpendencyManagement>
……
依賴傳遞
傳遞性依賴的概念,就像A依賴於B,B依賴於C,那麼就可以說A傳遞依賴於C;
建立三個專案分別是A、B、C
B依賴於C
首先,對C執行package和install,先打包,再發布到本地倉庫;
然後,開啟B的pom檔案,在依賴列表當中新增依賴
……
<dependency>
<groupId>maven</groupId>
<artifactId>C</artifactId>
<version>1.0</version>
</dependency>
……
此時編譯專案B,執行compile,可以執行編譯成功。
A依賴於B
首先,對B執行package和install,先打包,再發布到本地倉庫;
然後,開啟A的pom檔案,在依賴列表當中新增依賴
<dependencies>
……
<dependency>
<groupId>maven</groupId>
<artifactId>B</artifactId>
<version>1.0</version>
</dependency>
……
<dependencies>
此時再compile,成功之後找到A的Maven Dependencies包,會看到junit、B、C都在這裡面,其中C是被傳遞引用進來的。
排除依賴
如果A只想依賴於B,那麼可以使用排除依賴將C依賴項排除出去
在依賴列表中可以新增
<dependencies>
……
<exclusions>
<exclusion>
<groupId>maven</groupId>
<artifactId>C</artifactId>
<version>1.0</version>
</exclusion>
</exclusions >
……
<dependencies>
儲存之後,發現專案A的Maven Dependencies包裡面的依賴項C消失了。
如果發現專案的JRESystem Library包是JavaSE1.5版本的,可以通過setting.xml檔案將其修改,在檔案中加入如下程式碼,建立專案的時候,自動會建立1.7的版本。
<profiles>
……
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<repositories>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</repositories>
</profile>
……
</profiles>
依賴衝突
衝突依賴,比如C依賴於A和B不同版本的同一構件,但是它到底依賴於哪個呢!
此時處理方式遵從一下幾個規則:
1.短路優先
如果A—>B->C->X(jar)、A->D->X(jar)
那麼編譯的時候會選在短路優先選擇後者進行編譯。
2.先宣告先優先
A->C->jar,A->D->jar<br>
編譯時會選擇前者;
如果路徑長度相同,則誰先宣告,先解析誰。
聚合與繼承
聚合
對於多個專案一起編譯,這種方式叫做聚合。
還以上面的ABC三個專案作為例子說明;
三者設定了傳遞依賴關係,並且經過配置,但是此時不想一個一個的由高到低的編譯/打包/安裝,此時可以在A的pom.xml檔案的根目錄中加入如下元素標籤,只需要對A進行打包安裝即可實現對B和C的打包和安裝,這種一同編譯安裝的方式,就叫做聚合。
……
<modules>
<module>../C</module>
<module>../B</module>
<module>../A</module>
</modules>
……
繼承
多次使用到的依賴,比如:單元測試,沒有必要在所有的專案中都引用一下,此時就可以採用繼承的方式來實現,先來一個父類的POM.XML,然後再中繼承此POM.XML。
比如,多個專案都使用到了junit這個依賴項,則可以重現建立一個專案,將此依賴項新增進pom.xml,然後其他專案的pom檔案可以繼承此pom.xml檔案
在A專案的pom檔案中使用<parent></parent>中間引入父pom.xml本身的座標
……詳細過程參照其他教程……
需要注意的幾個方面:
1.packaging改為pom
2 dependencyManagement中並不提取依賴
3.property中定義了unit版本號,之後可以引用
4 父類parent中的main和test沒有意義,可以刪除
使用Maven構建專案
》Eclipse-->New-->Project-->Maven Project-->
按照上述步驟選擇建立web專案
》新增座標:
》然後是對pom.xml檔案進行屬性和依賴配置:
一堆東西的配置:
@Pom.xml檔案
…………
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springversion>3.1.1.RELEASE</springversion>
<junitversion>3.8.1</junitversion>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junitversion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springversion}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
……
》編輯jsp頁面,如果jsp頁面打不開,或者報錯,那是因為Eclipse缺少了ServletAPI外掛,需要在pom.xml檔案裡面的依賴列表當中新增依賴項,儲存後,可以自動下載依賴的jar包,
……
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
……
》然後在pom.xml檔案中更改junit版本號為4.10.
》更新專案,右擊專案名稱àMavenàUpdate ProjectàOK
確保輸出目錄在是target目錄,右擊專案名稱-->Build Path-->Configure Build Path-->Source 確保輸出都在TargetClasses即可。
》右擊專案名稱—>Properties-->Project Facets-->勾選DynamicWeb Module動態web模組。
》修改部署預設配置
釋出產品時候不需要測試的檔案,所以可以刪除test檔案,做法:
右擊專案名稱—>PropertiesàDeployment Assemby,,刪除/src/test/java、/src/test/resources
》對專案編譯、執行
第一,選擇第三方外掛jetty來作為web容器,這就需要,需要在pom.xml配置檔案中的<build>標籤下引入外掛的座標:
<build>
<finalName>testMavenWeb</finalName>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.0.RC1</version>
<!--
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version> -->
<executions>
<!-- 在打包成功後使用jetty:run來執行jetty服務-->
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
啟動專案執行,右鍵專案名字-->run as -->maven build…-->Goals後面輸入“jetty:run”命令,便可以可執行。
此時在控制檯可以看到StartedJetty server,可以在瀏覽器中檢視頁面顯示結果“Hello World”。
(除了使用jetty,還可以使用tomcat,在官網上找到Maven tomcat的外掛座標,如上述所示的座標。 )
第二,選擇Tomcat作為web容器,此時需要新增Tomcat外掛的座標,新增方法和上述新增Jetty外掛座標的方法一樣。
注意:
使用jetty外掛作為容器的時候訪問預設網頁的時候不用輸入專案名字:http://localhost:8080,可以直接出現預設頁面
如果訪問其他網頁,則按照正常訪問方法即可,需要加入專案名稱:http://localhost:8080/seckill/list.action。
使用Tomcat作為容器的時候url當中需要加入專案名稱:http://localhost:8080/testMaveWebDemo,則可以出現預設頁面。
如果訪問其他網頁,同樣需要加入專案名稱:http://localhost:8080/seckill/list.action。
Attention
小技能:如果不知道第三方外掛的座標,該怎麼辦!
進入該外掛的官網,找到該外掛其中一個合適的版本,點選進去,下面說明裡面有該外掛的依賴座標,只需要複製貼上過來即可,專案執行時候會自動下載該外掛到本地倉庫中,然後新增到ClassPath中。
友情連結:http://blog.csdn.net/xiaoshunzi111/article/details/52718303
(此連結講述了Maven的安裝,具有參考價值)
相關文章
- maven 學習總結(四)——Maven核心概念Maven
- 理解maven的核心概念Maven
- 使用Maven那麼久了,你對企業級Maven的核心配置瞭解多少?Maven
- Maven筆記之核心概念及常用命令Maven筆記
- 【Maven】Maven概述Maven
- 關於maven的核心pom(專案物件模型)的一些理解Maven物件模型
- Maven介紹,包括作用、核心概念、用法、常用命令、擴充套件及配置Maven套件
- MavenMaven
- Maven-搭建Maven私服的方法Maven
- Maven實戰:Maven生命週期Maven
- 使用Maven打包你的應用——maven-jar-plugin & maven-assembly-plugin & maven-shade-pluginMavenJARPlugin
- Maven-修改maven本地倉庫地址Maven
- maven assembly plugin,maven dependency plugin的使用MavenPlugin
- 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- Maven 命令Maven
- maven打包Maven
- maven 操作Maven
- Maven ArchetypeMaven
- Maven 整理Maven
- Maven 使用Maven
- Maven教程(Eclipse配置及maven專案)MavenEclipse
- Eclipse中的maven工程缺少maven dependenciesEclipseMaven
- maven 學習總結(一)——Maven入門Maven
- 【maven】Maven報錯 zip END header not foundMavenHeader
- (九) 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- Maven知識記錄(一)初識Maven私服Maven
- Maven實戰與原理分析(二):maven實戰Maven
- Maven快速入門(五)Maven的依賴管理Maven
- 如何執行maven和執行maven的命令。Maven
- Maven 學習筆記——Maven和Eclipse(2)Maven筆記Eclipse
- Maven 學習筆記——Maven環境配置(1)Maven筆記
- Java Maven專案推送到 Maven 中央倉庫JavaMaven
- Maven 倉庫Maven
- Maven入門Maven
- Maven EclipseMavenEclipse
- Maven 外掛Maven
- Maven 總結Maven
- Maven 學習Maven