上一篇已經(jīng)講到了Maven的基本命令,今天我們就來(lái)小試牛刀一把.
此前,我們可以用Eclispe創(chuàng)建一個(gè)小的Java工程,本人創(chuàng)建了一個(gè)能輸出"Hello!Maven!"的工程,它只有一個(gè)類,一個(gè)函數(shù),不用猜你也能想到里面寫的什么.
指的一提的是它的目錄結(jié)構(gòu),下面是這個(gè)工程目錄結(jié)構(gòu)的截圖:

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


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

在HelloMaven目錄下,還將生成一個(gè)pom.xml的文件,它就是Maven生成的工程文件.暫時(shí)你不需要關(guān)心其具體內(nèi)容.
因?yàn)榻酉聛?lái)還有任務(wù):把Eclispe工程中的Inlet.java文件放入C:\tmp\HelloMaven\src\main\java\com\sitinspring中.
然后打開cmd窗口,進(jìn)入C:\tmp\HelloMaven目錄.執(zhí)行命令:
mvn package
你將看到Maven再次輸出一堆信息.如下圖:

其后C:\tmp\HelloMaven的目錄結(jié)構(gòu)如下圖:

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

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

本文例子下載一:
http://m.tkk7.com/Files/sitinspring/MavenPakcageExample01.zip本文例子下載二:
http://m.tkk7.com/Files/sitinspring/MavenPakcageExample02.zip(這個(gè)例子就是上圖輸出的Swing程序,但Src路徑要深一些,所以DgroupId也不同,具體寫法請(qǐng)大家揣摩)
附錄:
Maven工程的目錄結(jié)構(gòu):
Maven project root |
|
|
pom.xml |
Maven2 project file |
Maven2項(xiàng)目文件 |
src/ |
|
|
main/ |
project main directory |
項(xiàng)目主體目錄 |
java |
source code directory |
原碼目錄 |
resources |
the directory of resource for source code |
原碼所需資源 |
filters |
the directory of filtering resource files |
原碼所需資源文件過(guò)濾 |
assembly |
Assembly descriptors |
|
config |
the directory of configuration file |
配置文件目錄 |
test |
|
|
java |
test source code directory |
測(cè)試原碼目錄 |
resources |
the directory of resource for the test source code |
測(cè)試原碼所需資源 |
filters |
the directory of filtering test resource files |
測(cè)試原碼所需資源文件過(guò)濾 |
site |
the directory of site resource |
與site相關(guān)的資源目錄 |
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 輸出目錄 |