Maven2 的常用命令

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:generate -DgroupId=com.demo -DartifactId=App

          建一個 web 項目 mvn archetype:generate -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 以上版本均可用)

 

 

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:

1.先建立一個maven項目,定義好groupId , artifactId ,version 等.

      mvn archetype:generate

2.利用此項目骨架創建自定義archetype,成功後,在target目錄中:

     mvn archetype:create-from-project

     在生成的src/main/resources/archetype-resources/下面的結構是自定義的結構,可以利用mkdir創建自己的結     構。

3. 繼續按照以下說明。

 


       主要的模板文件 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代碼 複製代碼
  1. <plugins>  
  2.         <plugin>  
  3.            <artifactId>maven-compiler-plugin</artifactId>  
  4.            <configuration>  
  5.                <source>1.5</source>  
  6.                <target>1.5</target>  
  7.            </configuration>  
  8.         </plugin>  
  9. </plugins>  
  1. <plugins>         <plugin>            <artifactId>maven-compiler-plugin</artifactId>            <configuration>                <source>1.5</source>                <target>1.5</target>            </configuration>         </plugin> </plugins>  
Xml代碼
  1. <plugins>         <plugin>            <artifactId>maven-compiler-plugin</artifactId>            <configuration>                <source>1.5</source>                <target>1.5</target>            </configuration>         </plugin> </plugins>  

 

3.   在使用命令mvn eclipse:eclipse 之後,import到Eclipse,然後在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

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