這段時間準備把這本書拾起來好好系統的學習一下Maven。
今天就第二章中的創建第一個Maven項目做一點說明。
1.首先在本地創建一個放置工程代碼的目錄 我本地的是:”E:/BetterBuildsWithMaven“
2.執行maven命令:E:/BetterBuildsWithMaven> mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
maven執行創建工程的工作中的log如下:
E:/BetterBuildsWithMaven>mvn archetype:create -DgroupId=com.mycompany.app -Dart
ifactId=my-app
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus
.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] Defaulting package to group ID: com.mycompany.app
[INFO] -------------------------------------------------------------------------
---
[INFO] Using following parameters for creating OldArchetype: maven-archetype-qui
ckstart:RELEASE
[INFO] -------------------------------------------------------------------------
---
[INFO] Parameter: groupId, Value: com.mycompany.app
[INFO] Parameter: packageName, Value: com.mycompany.app
[INFO] Parameter: basedir, Value: E:/BetterBuildsWithMaven
[INFO] Parameter: package, Value: com.mycompany.app
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: my-app
[INFO] ********************* End of debug info from resources from generated POM
***********************
[INFO] OldArchetype created in dir: E:/BetterBuildsWithMaven/my-app
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 seconds
[INFO] Finished at: Thu Aug 27 15:05:43 CST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
看到BUILD SUCCESSFUL之後,第一個Maven項目就創建好了。在本地創建的路徑下就可以看到創建的項目了,工程的名字就是artifactId,my-app;工程每個部分的包名稱就是groupId,目錄結構如下圖:
3.在創建過程要注意的一些問題。第一,在用命令行創建工程的時候,必須同時給出groupId和artifactId,否則會有Build error;第二,命令的格式上,在-DgroupId與-DartifactId之間有空格,即create與-DgroupId有空格,與-DartifactId也有空格。
4.在-DgroupId,-DartifactId之間是空格,不要插入任何字符,否則會在生成的pom.xml,以及源代碼中的app.java中的包名中包含這個字符,導致編譯錯誤