Maven介紹

使用不需要上網(wǎng)單獨(dú)下載jar包,只需要在配置文件pom.xml中配置jar包的依賴(lài)關(guān)系,就可以自動(dòng)的下載jar包到我們的項(xiàng)目中。這樣,別人開(kāi)發(fā)或者使用這個(gè)工程時(shí),不需要來(lái)回的拷貝jar包,只需要復(fù)制這個(gè)pom.xml就可以自動(dòng)的下載這些jar包。而且,我們自己下載jar包,還有可能造成版本的不一致,這樣在協(xié)同開(kāi)發(fā)的過(guò)程中就有可能造成代碼運(yùn)行的不一致。通過(guò)使用maven精確的匹配jar包,就不會(huì)出現(xiàn)這種問(wèn)題了。

目錄結(jié)構(gòu)

目錄 目的
${basedir} 存放 pom.xml和所有的子目錄
${basedir}/src/main/java 項(xiàng)目的 java源代碼
${basedir}/src/main/resources 項(xiàng)目的資源,比如說(shuō) 數(shù)據(jù)庫(kù)文件
${basedir}/src/test/java 項(xiàng)目的測(cè)試類(lèi),比如說(shuō) JUnit代碼
${basedir}/src/test/resources 測(cè)試使用的資源
${basedir}/target 編譯好的文件

項(xiàng)目坐標(biāo)

   <!-- junit -->
    <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.8.1</version>
          <scope>test</scope>
    </dependency>
  • groupId:公司名稱(chēng)

  • artifactId:所述的項(xiàng)目名稱(chēng),由于有的項(xiàng)目并不是一個(gè)jar包構(gòu)成的,而是由很多的jar包組成的。因此這個(gè)artifactId就是整個(gè)項(xiàng)目的名稱(chēng)。

  • version:版本號(hào)。

  • packaging:包的類(lèi)型,一般都是jar,也可以是war之類(lèi)的。如果不填,默認(rèn)就是jar。

  • scope:主要用于依賴(lài)部署

主要有5個(gè)值:
* compile,缺省值,適用于所有階段,會(huì)隨著項(xiàng)目一起發(fā)布。
* provided,類(lèi)似compile,期望JDK、容器或使用者會(huì)提供這個(gè)依賴(lài)。如servlet.jar。
* runtime,只在運(yùn)行時(shí)使用,如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段。
* test,只在測(cè)試時(shí)使用,用于編譯和運(yùn)行測(cè)試代碼。不會(huì)隨項(xiàng)目發(fā)布。
* system,類(lèi)似provided,需要顯式提供包含依賴(lài)的jar,Maven不會(huì)在Repository中查找它。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容