文章出處:http://bakcom.iteye.com/blog/280604
Maven2的運行命令為:mvn,
常用命令為:
mvnarchetype:create:創建Maven項目
mvncompile:編譯源代碼
mvntest-compile:編譯測試代碼
mvntest:運行應用程序中的單元測試
mvnsite:生成項目相關信息的網站
mvnclean:清除目標目錄中的生成結果
mvnpackage:依據項目生成jar文件
mvninstall:在本地Repository中安裝jar
mvneclipse:eclipse:生成Eclipse項目文件
生成項目
建一個JAVA項目:mvnarchetype:create -DgroupId=com.demo -DartifactId=App
建一個web項目:mvnarchetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成Eclipse項目
普通Eclipse項目執行:mvneclipse:eclipse
Eclipse WTP項目執行:mvneclipse: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項目:
mvnarchetype:create\
-DgroupId=cn.prof\
-DartifactId=prof-archetype\
-DarchetypeArtifactId=maven-archetype-archetype
主要的模板文件:archetype-resources/pom.xml
修改其中內容
修改META-INF/maven/archetype.xml中定義了相關的sources
安裝此項目:mvninstall
執行下面的命令創建新目錄的項目:
mvnarchetype:create -DgroupId=com.mergere.mvnbook \
-DartifactId=proficio-example\
-DarchetypeGroupId=com.xxx.mvn\
-DarchetypeArtifactId=prof-archetype\
-DarchetypeVersion=1.0-SNAPSHOT
目錄說明
Maven2Directory |
||||
目錄 |
二級目錄 |
三級目錄 |
四級目錄 |
說明 |
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.<!---->使用命令mvneclipse:eclipse–Dwtpversion=1.0之后,導入的項目Project Facet的java還是1.4,而我Eclipse上設置的是5.0
解決辦法:在pom.xml中plugins加入說明就可以了
- <plugins>
- <plugin>
- <artifactId> maven-compiler-plugin </artifactId>
- <configuration>
- <source> 1.5 </source>
- <target> 1.5 </target>
- </configuration>
- </plugin>
- </plugins>
- <plugins><plugin><artifactId> maven-compiler-plugin </artifactId><configuration><source> 1.5 </source><target> 1.5 </target></configuration></plugin></plugins>
- <plugins><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.5</source><target>1.5</target></configuration></plugin></plugins>
<!----><!----><!----><!---->
3. 在使用命令mvneclipse:eclipse 之后,import到Eclipse,然后在Eclipse項目上點右鍵,選擇插件Maven>Enable Dependency Management后,會報重復引用依賴的錯誤
解決辦法 :再執行mvneclipse: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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
