(轉)MAVEN 使用幫助

雖然公司仍然使用ant,但自己還是嘗試使用了下Maven2

網上資料雖然很多,還是總結出自己所需要的

一些好的文章

我的Maven之旅

http://www.blogjava.net/sitinspring/archive/2007/06/18/125006.html

http://zyl.iteye.com/blog/41754

等等

 

以下是我簡單的總結

 

MAVEN 使用幫助

feigme

版本聲明

JDK  5.0

Maven  2.0.9

OS  windows xp

安裝

       Maven 下載地址  http://maven.apache.org/download.html

安裝 Eclipse Maven2 插件  http://m2eclipse.sonatype.org/update/

       解壓 Maven  D:\apache-maven-2.0.9

       設置環境變量  MAVEN_HOME = D:\apache-maven-2.0.9

       添加 Path  %MAVEN_HOME%\bin

       測試安裝 

              C:\Documents and Settings\Administrator>mvn -version

Maven version: 2.0.9

Java version: 1.5.0_10

OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

常用命令

       Maven2 的運行命令爲  mvn 

常用命令爲 

             mvn archetype:create :創建 Maven 項目

             mvn compile :編譯源代碼

             mvn test-compile :編譯測試代碼

             mvn test  運行應用程序中的單元測試

             mvn site  生成項目相關信息的網站

             mvn clean :清除目標目錄中的生成結果

             mvn package  依據項目生成 jar 文件

             mvn install :在本地 Repository 中安裝 jar

             mvn eclipse:eclipse :生成 Eclipse 項目文件

生成項目

             建一個 JAVA 項目  mvn archetype:create -DgroupId=com.demo -DartifactId=App

          建一個 web 項目  mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

 

生成 Eclipse 項目

普通 Eclipse 項目執行  mvn eclipse:eclipse

           Eclipse WTP 項目執行  mvn eclipse:eclipse –Dwtpversion=1.0

               wtp1.0 以上版本均可用)

 

        Eclipse 裏面 file>import

       然後選擇 General>Existing Projects into Workspace

       設置 maven 的路徑變量 M2_REPO

Window -> Preferences -> Java -> Build Path -> Classpath Variables

New Name 命名  M2_REPO

路徑 :本地的 maven 類庫地址

這裏爲 C:/Documents and Settings/{ 你的系統登錄用戶名 }/.m2/repository

pom.xml 文件基本節點介紹

<project > :文件的根節點 .
<modelversion >  pom.xml 使用的對象模型版本 .
<groupId > :創建項目的組織或團體的唯一 Id.
<artifactId > :項目的唯一 Id, 可視爲項目名 .
<packaging > :打包物的擴展名,一般有 JAR,WAR,EAR  
<version > :產品的版本號 .
<name > :項目的顯示名,常用於 Maven 生成的文檔。 
<url > :組織的站點,常用於 Maven 生成的文檔。 
<description > :項目的描述,常用於 Maven 生成的文檔。

 

 POM 4 中, <dependency> 中還引入了 <scope> ,它主要管理依賴的部署。

目前 <scope> 可以使用 5 個值:

compile :缺省值,適用於所有階段,會隨着項目一起發佈。

provided :類似 compile ,期望 JDK 、容器或使用者會提供這個依賴。如 servlet.jar 

runtime :只在運行時使用,如 JDBC 驅動,適用運行和測試階段。

test :只在測試時使用,用於編譯和運行測試代碼。不會隨項目發佈。

system :類似 provided ,需要顯式提供包含依賴的 jar  Maven 不會在 Repository 中查找它。

 

定義自己的結構

新建一個 archetype 項目 

mvn archetype:create\ 
-DgroupId=cn.prof\
 
-DartifactId=prof-archetype\
 
-DarchetypeArtifactId=maven-archetype-archetype

       主要的模板文件  archetype-resources/pom.xml

       修改其中內容

       修改 META-INF/maven/archetype.xml 中定義了相關的 sources

       安裝此項目  mvn install

執行下面的命令創建新目錄的項目:

mvn archetype:create -DgroupId=com.mergere.mvnbook \ 
-DartifactId=proficio-example\
 
-DarchetypeGroupId=com.xxx.mvn\ 
-DarchetypeArtifactId=
 prof-archetype 
-DarchetypeVersion=1.0-SNAPSHOT

 

目錄說明

Maven2  Directory

目錄

二級目錄

三級目錄

四級目錄

說明

pom.xml

 

Maven2 的項目設置文件

src/

 

源碼目錄

main/

 

項目主體目錄根

java/

 

源代碼目錄

resources/

 

所需資源目錄

filters/

 

資源過濾文件目錄

assemby/

 

Assembly descriptors

config/

 

配置文件根目錄

webapp/

 

web 應用目錄

WEB-INF/

WEB-INF 目錄

test/

 

項目測試目錄根

java/

 

測試代碼目錄

resources/

 

測試所需資源目錄

filters/

 

測試資源過濾文件目錄

site/

 

site 相關的資源目錄

target/

 

輸出目錄根

classes/

 

 

項目主體輸出目錄

test_classes/

 

項目測試輸出目錄

site/

 

項目site 輸出目錄

 

碰到的問題

1.        M2eclipse 插件裝上之後,會報這個錯

Eclipse is running in a JRE, but a JDK is required

Some Maven plugins may not work when importing projects or updating source folders.

解決辦法 :查看 eclipse\readme\readme_eclipse.html 裏面有詳細說明,在 Selecting a workspace 這一節

創建一個快捷方式,設定目標位置爲 D:\eclipse_jee\eclipse.exe -vm D:\Java\jdk1.5.0_10\bin\javaw

因爲默認 vm  jdk\jre\bin\javaw ,直接改到 jdk 下,錯誤即可消除

 

2.       使用命令 mvn eclipse:eclipse –Dwtpversion=1.0 之後,導入的項目 Project Facet  java 還是 1.4 ,而我 Eclipse 上設置的是 5.0

解決辦法 :在 pom.xml  plugins 加入說明就可以了

Xml代碼 

<!--[if !supportLists]-->1.     <!--[endif]--><plugins>  

<!--[if !supportLists]-->2.     <!--[endif]-->        <plugin>  

<!--[if !supportLists]-->3.     <!--[endif]-->           <artifactId>maven-compiler-plugin</artifactId>  

<!--[if !supportLists]-->4.     <!--[endif]-->           <configuration>  

<!--[if !supportLists]-->5.     <!--[endif]-->               <source>1.5</source>  

<!--[if !supportLists]-->6.     <!--[endif]-->               <target>1.5</target>  

<!--[if !supportLists]-->7.     <!--[endif]-->           </configuration>  

<!--[if !supportLists]-->8.     <!--[endif]-->        </plugin>  

<!--[if !supportLists]-->9.     <!--[endif]--></plugins>  

 

3.   在使用命令mvn eclipse:eclipse 之後,importEclipse,然後在Eclipse項目上點右鍵,選擇插件Maven>Enable Dependency Management後,會報重複引用依賴的錯誤
解決辦法 :再執行mvn eclipse:eclipse然後刷新Eclipse的項目,取消掉maven插件的引用依賴,錯誤就會消除

 

4.   Failure executing javac, but could not parse the error:
編譯器 (1.5.0_10) 中出現異常。 如果在 Bug Parade 中沒有找到該錯誤,請在 Java Developer Connection (http://java.sun.com/webapps/bugreport )  對該錯誤進行歸檔。 請在報告中附上您的程序和以下診斷信息。謝謝您的合作。
java.nio.BufferOverflowException
解決辦法 :(臨時)在控制面板中將區域與語言選項中,把當地語言設爲英語
(爲什麼我還會出現這個問題?請指教)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章