1. 程式人生 > >MyEclipse中建立新的Maven專案(webapp目錄結構)過程如下:

MyEclipse中建立新的Maven專案(webapp目錄結構)過程如下:

圖文詳解MyEclipse中新建Maven webapp專案的步驟(很詳細)


1. New -> Project... -> Maven Project



Group Id,Artifact Id,和Package(請參考後面的“關鍵詞”),點選“Finish”


建立完成後,檔案目錄結構如下:


新增程式碼目錄:

注:如果是MyEclipse2015,只需要在Java Build Path -> Libraries 中,把JRE System Library修改為“Workspace default JRE”就可以自動有那些目錄了,無需下面的操作。

專案右鍵 -> Build Path -> New Source Folder...,填寫“src/main/java”

(注:MyEclipse2015沒有這個選單,直接這樣就行:專案右鍵 -> New -> Folder ->Folder Name 輸入 "src/main/java",然後重複步驟輸入“src/test/java”)


新增後,test目錄也自動有了:

(如果需要)修改專案所使用的jdk:專案右鍵 -> Build Path -> Configure Build Path...

最終的專案目錄結構如下:


 新增相應的外掛,如 maven-compiler-plugin

在pom.xml中

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

   <artifactId>maven-compiler-plugin</artifactId>

   <version>2.3.2</version>

   <configuration>

   <source>1.7</source>

   <target>1.7</target>

   </configuration>

   </plugin>

關鍵詞:

GroupId:一般是公司名或組織名

ArtifactId:一般是project名

Packaging:打包型別,jar/war/rar/ear/pom等,預設是jar

Version:版本號,GroupId+ArtifactId+Packaging+Version構成專案的唯一標識

Snapshot:標識一個正在開發階段、會經常更新、但尚未釋出的版本

<dependency management>和<dependencies>的區別:

在父POM中用<dependency management>定義好version, scope, 和exclusions後,可以被子POM中用<dependencies>定義的依賴所繼承使用。這樣,如果有多個子POM的話,可以確保用同一套version, scope, 和exclusions。

Dependency Scope:

compile: 預設的scope。編譯、測試、打包全都需要。compile參與依賴傳遞,就是說,專案A依賴於B(依賴scopecompile),專案C依賴於你的專案A

那麼C也就依賴於B

provided: 表示JDK或者容器會在Runtime時提供這些(jar),如servlet api,部署時是不需要它的,因為應用伺服器肯定有這些東西。provided的東西在編譯和測試時會用到,不參與傳遞依賴。

runtime: 表示編譯時不需要,但測試和執行時需要,最終打包時會包含進去。

test: 只用於測試階段(測試的編譯和測試的執行),典型的就是junitjar

system: provided類似,但要求jar是系統裡已有的,不會在repository裡找,如rt.jar,tools.jar這些。

import: 簡單的說,專案的pom可以繼承另一個專案的pom,從而繼承了父專案的依賴關係,但是因為之後single inheritance的限制,所以創造了

import,使得你可以匯入或者說繼承任何一到多個專案的依賴關係。

找包的方法:

1. GOOGLE裡輸入: maven spring repository

2. 得到:

1. <dependency>

2. <groupId>org.springframework</groupId>

3. <artifactId>spring</artifactId>

4. <version>2.5.5</version>

5. </dependency>

Maven下載完jar包後,

1. Stop server

2. Redeploy/Reload application

3. Start server