setM2_HOME=c:\ProgramFiles\maven-2.0.9C:\Users\tobrien>setPATH=%PATH%;%M2_HOME%\binMaven目錄結(jié)構(gòu):StandardLocationDescriptionpom.xmlMaven’sPOM,whichisal" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Maven

系統(tǒng) 2753 0

?

搞了3天,終于搞定了maven + hudson + p4的集成配置。

下面一一介紹下各個(gè)工具的使用。

Maven:

?

  • 安裝 , 解壓縮,設(shè)置環(huán)境變量:

C:\Users\tobrien > set M2_HOME=c:\Program Files\maven-2.0.9

C:\Users\tobrien > set PATH=%PATH%;%M2_HOME%\bin

  • Maven 目錄結(jié)構(gòu):

Standard Location Description
pom.xml Maven’s POM, which is always at the top-level of a project.
LICENSE.txt A license file is encouraged for easy identification by users and is optional.
README.txt A simple note which might help first time users and is optional.
target/ Directory for all generated output. This would include compiled classes, generated sources that may be compiled, the generated site or anything else that might be generated as part of your build.
target/generated-sources/plugin-id <plugin-id> <plugin-id> <plugin-id></plugin-id> </plugin-id> </plugin-id> Standard location for generated sources. For example, you may generate some sources from a JavaCC grammar.
src/main/java/ Standard location for application sources.
src/main/resources/ Standard location for application resources.
src/main/filters/ Standard location for resource filters.
src/main/assembly/ Standard location for assembly filters.
src/main/config/ Standard location for application configuration filters.
src/test/java/ Standard location for test sources.
src/test/resources/ Standard location for test resources.
src/test/filters/ Standard location for test resource filters.

?

?

  • mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook

Maven

?

?

?

?

groupId

Maven

?

groupId:

團(tuán)體,公司,小組,組織,項(xiàng)目,或者其它團(tuán)體。團(tuán)體標(biāo)識(shí)的約定是,它以創(chuàng)

建這個(gè)項(xiàng)目的組織名稱的逆向域名 (reverse domain name) 開頭。來(lái)自 Sonatype

的項(xiàng)目有一個(gè)以 com.sonatype 開頭的 groupId ,而 Apache Software 的項(xiàng)目有以

org.apache 開頭的 groupId

ArtifactId:

groupId 下的表示一個(gè)單獨(dú)項(xiàng)目的唯一標(biāo)識(shí)符。

Version:

一個(gè)項(xiàng)目的特定版本。發(fā)布的項(xiàng)目有一個(gè)固定的版本標(biāo)識(shí)來(lái)指向該項(xiàng)目的某一個(gè)

特定的版本。而正在開發(fā)中的項(xiàng)目可以用一個(gè)特殊的標(biāo)識(shí),這種標(biāo)識(shí)給版本加上

一個(gè)“ SNAPSHOT” 的標(biāo)記。


項(xiàng)目的打包格式也是 Maven 坐標(biāo)的重要組成部分,但是它不是項(xiàng)目唯一標(biāo)識(shí)符的一個(gè)部

分。一個(gè)項(xiàng)目的 groupId:artifactId:version 使之成為一個(gè)獨(dú)一無(wú)二的項(xiàng)目;你不能同

時(shí)有一個(gè)擁有同樣的 groupId , artifactId version 標(biāo)識(shí)的項(xiàng)目。


packaging

項(xiàng)目的類型,默認(rèn)是 jar ,描述了項(xiàng)目打包后的輸出。類型為 jar 的項(xiàng)目產(chǎn)生一個(gè)

JAR 文件,類型為 war 的項(xiàng)目產(chǎn)生一個(gè) web 應(yīng)用。



Maven 也提供了不同的依賴范圍 (dependency scope) Simple 項(xiàng)目的 pom.xml 包含了

一個(gè)依賴—— junit:junit:jar:3.8.1 —— 范圍是 test 。當(dāng)一個(gè)依賴的范圍是 test

時(shí)候,說(shuō)明它在 Compiler 插件運(yùn)行 compile 目標(biāo)的時(shí)候是不可用的。它只有在運(yùn)

compiler:testCompile surefire:test 目標(biāo)的時(shí)候才會(huì)被加入到 classpath 中。


當(dāng)用 Maven 來(lái)創(chuàng)建 WAR 或者 EAR ,你可以配置 Maven 讓它在生成的構(gòu)件中捆綁依賴,

你也可以配置 Maven ,使用 provided 范圍,讓它排除 WAR 文件中特定的依賴。 provided

圍告訴 Maven 一個(gè)依賴在編譯的時(shí)候需要,但是它不應(yīng)該被捆綁在構(gòu)建的輸出中。當(dāng)你

開發(fā) web 應(yīng)用的時(shí)候 provided 范圍變得十分有用,你需要通過 Servlet API 來(lái)編譯你的代

碼,但是你不希望 Servlet API JAR 文件包含在你 web 應(yīng)用的 WEB-INF/lib 目錄中。

?

?

Maven 運(yùn)行命令 :

mvn archetype:create -DgroupId=org.victor.mvn \

-DartifactId=simple-webapp -DpackageName=org.victor.mvn -DarchetypeArtifactId=maven

?

mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.MyApp

?

mvn compile

?

mvn test

mvn install (mvn clean install)

mvn package

?

mvn assembly:assembly

?

?

?

?

?

?

忽略測(cè)試失敗

通常,你會(huì)開發(fā)一個(gè)帶有很多失敗單元測(cè)試的系統(tǒng)。 如果你正在實(shí)踐測(cè)試驅(qū)動(dòng)開發(fā)

(TDD) ,你可能會(huì)使用測(cè)試失敗來(lái)衡量你離項(xiàng)目完成有多遠(yuǎn)。 如果你有失敗的單元

測(cè)試,但你仍然希望產(chǎn)生構(gòu)建輸出,你就必須告訴 Maven 讓它忽略測(cè)試失敗。 當(dāng)

Maven 遇到一個(gè)測(cè)試失敗,它默認(rèn)的行為是停止當(dāng)前的構(gòu)建。 如果你希望繼續(xù)構(gòu)

建項(xiàng)目,即使 Surefire 插件遇到了失敗的單元測(cè)試,你就需要設(shè)置 Surefire

testFailureIgnore 這個(gè)配置屬性為 true

< project >

[...]

< build >

< plugins >

< plugin >

< groupId >org.apache.maven.plugins< /groupId >

< artifactId >maven-surefire-plugin< /artifactId >

< configuration >

< testFailureIgnore >true< /testFailureIgnore >

< /configuration >

< /plugin >

< /plugins >

< /build >

[...]

< /project >

?

?

跳過單元測(cè)試

< project >

[...]

< build >

< plugins >

< plugin >

< groupId >org.apache.maven.plugins< /groupId >

< artifactId >maven-surefire-plugin< /artifactId >

< configuration >

< skip >true< /skip >

< /configuration >

< /plugin >

< /plugins >

< /build >

[...]

< /project >

?

?

Maven


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 仁布县| 天柱县| 深圳市| 三原县| 廊坊市| 浮梁县| 丹巴县| 海城市| 尤溪县| 维西| 晋州市| 忻州市| 肃宁县| 娄烦县| 汉阴县| 巴中市| 六盘水市| 阜新市| 时尚| 信宜市| 五原县| 固安县| 德惠市| 井冈山市| 高淳县| 梧州市| 天门市| 衡水市| 遵义市| 资阳市| 怀安县| 盘锦市| 将乐县| 筠连县| 三江| 白沙| 宁津县| 龙胜| 新和县| 光山县| 孝义市|