我的Maven2之旅:三.Maven的一小步,個人的一大步
上一篇已經講到了Maven的基本命令,今天我們就來小試牛刀一把.此前,我們可以用Eclispe創建一個小的Java工程,本人創建了一個能輸出"Hello!Maven!"的工程,它只有一個類,一個函數,不用猜你也能想到里面寫的什么.
指的一提的是它的目錄結構,下面是這個工程目錄結構的截圖:

為什么要在src底下放兩層目錄呢,一會將見分曉.
接下來,我們使用Maven創建一個HelloMaven的Maven項目,打開cmd窗口,轉入你的Maven工程目錄(本人機器上是C:\tmp),然后輸入如下的命令:
mvn archetype:create -DgroupId=com.sitinspring -DartifactId=HelloMaven
其中,com.sitinspring告知了Maven工程的代碼根目錄,而HelloMaven是工程名.這段命令指示Maven創建一個HelloMaven的工程,它的代碼根目錄是com.sitinspring.命令運行后將生成一個名為HelloMaven的目錄,其中有主目錄,測試目錄和工程文件pom.xml.
接到你的命令,Maven開始工作了,它輸出了一大段文字,見下圖:


你將得到一個名叫HelloMaven的目錄,如下圖:

在HelloMaven目錄下,還將生成一個pom.xml的文件,它就是Maven生成的工程文件.暫時你不需要關心其具體內容.
因為接下來還有任務:把Eclispe工程中的Inlet.java文件放入C:\tmp\HelloMaven\src\main\java\com\sitinspring中.
然后打開cmd窗口,進入C:\tmp\HelloMaven目錄.執行命令:
mvn package
你將看到Maven再次輸出一堆信息.如下圖:

其后C:\tmp\HelloMaven的目錄結構如下圖:

在target目錄下,有classes目錄.這是生成的class文件;根目錄下還生成了我們的目標文件HelloMaven-1.0-SNAPSHOT.jar,它就是打包后的jar.
測試一下,我們打開cmd窗口,進入目錄 C:\tmp\HelloMaven\target,然后執行命令:
java -cp HelloMaven-1.0-SNAPSHOT.jar com.sitinspring.Inlet,你將看到Hello!Maven!被輸出出來.如下圖.

現在為止,我們未曾寫一句代碼就得到了項目的jar文件,你可以拿自己以前的工程來試試mvn package的功能了.
如果是Swing程序的話效果更好.下圖是Swing程序包執行的效果.

本文例子下載一:http://www.aygfsteel.com/Files/sitinspring/MavenPakcageExample01.zip
本文例子下載二:http://www.aygfsteel.com/Files/sitinspring/MavenPakcageExample02.zip
(這個例子就是上圖輸出的Swing程序,但Src路徑要深一些,所以DgroupId也不同,具體寫法請大家揣摩)
附錄:
Maven工程的目錄結構:
Maven project root | ||
pom.xml | Maven2 project file | Maven2項目文件 |
src/ | ||
main/ | project main directory | 項目主體目錄 |
java | source code directory | 原碼目錄 |
resources | the directory of resource for source code | 原碼所需資源 |
filters | the directory of filtering resource files | 原碼所需資源文件過濾 |
assembly | Assembly descriptors | |
config | the directory of configuration file | 配置文件目錄 |
test | ||
java | test source code directory | 測試原碼目錄 |
resources | the directory of resource for the test source code | 測試原碼所需資源 |
filters | the directory of filtering test resource files | 測試原碼所需資源文件過濾 |
site | the directory of site resource | 與site相關的資源目錄 |
target | the directory for output | 輸出目錄 |
classes | the directory for output classes | class 目錄 |
test-classes | the directory for output test classes | test class 目錄 |
site | the directory for output site and reports | site 輸出目錄 |
posted on 2007-06-19 21:17 sitinspring 閱讀(4383) 評論(5) 編輯 收藏 所屬分類: Maven2之旅