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(依賴scope是compile),專案C依賴於你的專案A,
那麼C也就依賴於B。
provided: 表示JDK或者容器會在Runtime時提供這些(jar),如servlet api,部署時是不需要它的,因為應用伺服器肯定有這些東西。provided的東西在編譯和測試時會用到,不參與傳遞依賴。
runtime: 表示編譯時不需要,但測試和執行時需要,最終打包時會包含進去。
test: 只用於測試階段(測試的編譯和測試的執行),典型的就是junit的jar。
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