<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Maven極簡入門指南(二)手動(dòng)創(chuàng)建maven項(xiàng)目hellomaven

          共 5411字,需瀏覽 11分鐘

           ·

          2021-08-25 04:26

          之前講過Maven介紹及環(huán)境搭建,介紹了maven的作用和如何搭建maven環(huán)境。接下來就以一個(gè)helloworld的例子來說一說如何創(chuàng)建maven項(xiàng)目以及maven項(xiàng)目的項(xiàng)目結(jié)構(gòu),最后講maven如何編譯運(yùn)行項(xiàng)目。


          一、創(chuàng)建Maven項(xiàng)目

          其實(shí)所謂創(chuàng)建Maven項(xiàng)目,說白了就是創(chuàng)建一個(gè)符合Maven約定的項(xiàng)目骨架,也就是項(xiàng)目目錄。這些項(xiàng)目的目錄可以手動(dòng)創(chuàng)建,也可以用maven插件。這里我就介紹使用archetype插件自動(dòng)建立目錄

          首先,創(chuàng)建項(xiàng)目存放的目錄(例如d:\maven_project),然后打開終端或者命令行并切換到d:\maven_project目錄下,執(zhí)行以下Maven命令:

          mvn archetype:generate -DgroupId=com.weiz.hellomaven -DartifactId=hello-maven-test -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

          參數(shù)說明

          groupId :用戶定義package命名空間
          artifactId:創(chuàng)建的項(xiàng)目名稱

          命令輸出情況:

          Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 -Dgroovy.source.encoding=UTF-8[INFO] Scanning for projects.....省略輸出.[INFO] Parameter: basedir, Value: D:\maven_project[INFO] Parameter: package, Value: com.weiz.hellomaven[INFO] Parameter: groupId, Value: com.weiz.hellomaven[INFO] Parameter: artifactId, Value: hello-maven-test[INFO] Parameter: packageName, Value: com.weiz.hellomaven[INFO] Parameter: version, Value: 1.0-SNAPSHOT[INFO] project created from Old (1.x) Archetype in dir: D:\maven_project\hello-maven-test[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time:  4.039 s[INFO] Finished at: 2020-05-23T16:40:59+08:00[INFO] ------------------------------------------------------------------------

          注意:如果是剛安裝的Maven,第一次創(chuàng)建項(xiàng)目時(shí)可能需要一段時(shí)間,因?yàn)镸aven需要從網(wǎng)上下載大部分最近的artifacts (plugin jars and other files)到你的本地倉庫。如果失敗了,再執(zhí)行一次該命令即可。

          輸出了“BUILD SUCCESS”時(shí)表示項(xiàng)目創(chuàng)建成功了,創(chuàng)建一個(gè)hello-maven-test的項(xiàng)目。

           

          二、Maven項(xiàng)目結(jié)構(gòu)

          1、項(xiàng)目結(jié)構(gòu)

          maven工程與以往的java工程目錄結(jié)構(gòu)有所不同,以往的java工程目錄目錄一般只有一個(gè)src用于存放包及java文件,而maven工程目錄長這樣: 

          $ MavenProject|-- pom.xml|-- src|   |-- main|   |   `-- java|   |   `-- resources|   `-- test|   |   `-- java|   |   `-- resources

          一般將java的功能代碼,放在main/java下面,而測試代碼放在test/java下,這樣在運(yùn)行時(shí),maven才可以識別目錄并進(jìn)行編譯。

          • src/main/java - 存放項(xiàng)目.java文件;

          • src/main/resources - 存放項(xiàng)目資源文件;

          • src/test/java - 存放測試類.java文件;

          • src/test/resources - 存放測試資源文件;

          • target - 項(xiàng)目輸出目錄;

          • pom.xml - Maven核心文件(Project Object Model)

           

          2、pom文件

          POM文件代表工程對象模型(Project Object Model)它是使用Maven工作的基本組件,位于工程根目錄。POM文件支持繼承。

          <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.weiz.hellomaven</groupId>  <artifactId>hello-maven-test</artifactId>  <packaging>jar</packaging>  <version>1.0-SNAPSHOT</version>  <name>hello-maven-test</name>  <url>http://maven.apache.org</url>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

           

          3、maven 坐標(biāo)

          maven 的所有構(gòu)件均通過坐標(biāo)進(jìn)行組織和管理。maven 的坐標(biāo)通過 5 個(gè)元素進(jìn)行定義,其中 groupId、artifactId、version 是必須的,packaging 是可選的(默認(rèn)為jar),classifier 是不能直接定義的。

          • groupId這是工程組的標(biāo)示,它在一個(gè)組織或項(xiàng)目中通常是唯一的,例如,上述項(xiàng)目中com.weiz.hellomaven擁有所有當(dāng)前組織的項(xiàng)目。

          • artifactId當(dāng)前工程標(biāo)識。通常是工程的名稱,如上述中的hello-maven-test。groupId和artifactId一起定位了當(dāng)前項(xiàng)目的倉庫中的位置信息

          • version工程版本號,如:com.weiz.hellomaven:hello-maven-test:1.0-SNAPSHOT

          三、編譯、運(yùn)行

          上面講了項(xiàng)目的目錄結(jié)構(gòu),已經(jīng)如何創(chuàng)建項(xiàng)目,那么怎么項(xiàng)目怎么編譯、運(yùn)行呢?

          1、編譯

          打開控制臺,進(jìn)入到新創(chuàng)建的工程的目錄下,執(zhí)行命令:mvn compile

          [INFO] Scanning for projects...
          [INFO]
          [INFO]
          ----------------< com.weiz.hellomaven:hello-maven-test >----------------
          [INFO] Building hello
          -maven-test 1.0-SNAPSHOT
          [INFO]
          --------------------------------[ jar ]---------------------------------.
          .省略輸出
          .
          [INFO] Nothing to compile
          - all classes are up to date
          [INFO]
          ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO]
          ------------------------------------------------------------------------
          [INFO] Total time:
          1.923 s
          [INFO] Finished at:
          2020-05-23T17:41:56+08:00
          [INFO]
          ------------------------------------------------------------------------

          輸出了“BUILD SUCCESS”時(shí)表示項(xiàng)目編譯成功。項(xiàng)目編譯成功后會(huì)在項(xiàng)目下生成一個(gè)target文件夾,里面存放編譯后的文件。

           

          2、運(yùn)行測試類

          編譯成功后執(zhí)行mvn test命令,運(yùn)行測試類:mvn test

          [INFO] Scanning for projects...
          .
          省略輸出
          .
          .
          -------------------------------------------------------
          T E S T S
          -------------------------------------------------------
          Running com.weiz.hellomaven.AppTest
          Tests run:
          1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec
          Picked up _JAVA_OPTIONS:
          -Dfile.encoding=UTF-8 -Dgroovy.source.encoding=UTF-8
          Results :
          Tests run:
          1, Failures: 0, Errors: 0, Skipped: 0

          [INFO]
          ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO]
          ------------------------------------------------------------------------
          [INFO] Total time:
          3.131 s
          [INFO] Finished at:
          2020-05-23T17:53:57+08:00
          [INFO]
          ------------------------------------------------------------------------

           輸出信息里會(huì)顯示單元測試的成功,失敗數(shù)。

          四、Maven常用命令

          來看一下maven幾個(gè)常用的構(gòu)建命令,格式為mvn xxx。

          命令功能備注
          mvn compile編譯源代碼個(gè)過程會(huì)下載工程所有依賴的jar包
          mvn clean清理環(huán)境清理target目錄
          mvn test執(zhí)行單元測試用
          mvn install安裝jar包到本地倉庫
          mvn dependency:tree樹型顯示maven依賴關(guān)系用于排查依賴沖突的問題
          mvn dependency:list顯示maven依賴列表
          mvn package打包,將java工程打成jar包或war包

          除了以上命令之外,還有之前介紹的查看maven版本的命令:mvn -v 。

           

          最后

          以上,用hellomaven為例,首先介紹了如何創(chuàng)建maven項(xiàng)目、然后maven項(xiàng)目的結(jié)構(gòu),最后將如何編譯運(yùn)行maven項(xiàng)目。是不是特別簡單。雖然簡單,但這是所有開發(fā)者必學(xué)必會(huì)的基礎(chǔ)技能。請大家關(guān)注(架構(gòu)師精進(jìn))!


          推薦閱讀:


          瀏覽 52
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品无码少妇一区二区三区 | 国产婷婷久久免费精品视频 | 永久免费的啪网站免费 | 16—17女人毛片毛片国内 | 经典素人-熊猫成人网 |