maven筆記day02

maven使用

1、maven項(xiàng)目的核心是pom.xml(Poject Object Model ,項(xiàng)目對象模型)定義了項(xiàng)目基本信息,用于描述項(xiàng)目如何構(gòu)建、聲明項(xiàng)目依賴等,示例pom.xml如下:


<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">

? ? <modelVersion>4.0.0</modelVersion>

? ? <groupId>com.su.mvnbook</groupId>

? ? <artifactId>maven-test</artifactId>

? ? <version>1.0-SNAPSHOT</version>

? ? <name>exam_test</name>

</project>


2、groupId、artifactId、version? 定義了一個maven項(xiàng)目的坐標(biāo)

? ?groupId? 定義項(xiàng)目屬于哪個組,這個組往往和項(xiàng)目所在的組織或者公司關(guān)聯(lián)。這里公司為su,項(xiàng)目為mvnbook

? ?artifactId 定義了當(dāng)前 maven 項(xiàng)目在組中唯一的id,我們這個項(xiàng)目為maven-test

? ? version定義的項(xiàng)目的版本??1.0-SNAPSHOT,? SNAPSHOT意為快照,表示該項(xiàng)目還處于開發(fā)中,是不穩(wěn)定的版本,隨著項(xiàng)目的發(fā)展,version會不斷升級,比如升級為1.0、1.1-SNAPSHOT、1.1等

3、maven打包

打包的話pom中不指定,默認(rèn)使用的打包類型為Jar,簡單地執(zhí)行命令:? mvn clean? package? ,maven會在打包前執(zhí)行編譯、測試等操作。

jar 任務(wù)負(fù)責(zé)打包,實(shí)際上就是jar插件的jar目標(biāo)將項(xiàng)目主代碼打包成一個名為? exam_test-1.0-SNAPSHOT.jar的文件。該文件位于target/輸出目錄中,它是根據(jù)artifactId-version.jar規(guī)則進(jìn)行命名的,如有需要,還可以使用finalName來自定義該文件名稱。

怎樣才能讓其他的maven項(xiàng)目直接引用這個Jar呢,只需要執(zhí)行mvn? ?clean install? ,執(zhí)行該命令后該項(xiàng)目輸出的Jar被安裝到了maven本地倉庫中。

maven 最主要命令有:

? ? ? ? ? ? ? ? ? ? ? ? maven clean compile

? ? ? ? ? ? ? ? ? ? ? ? mvn clean test

? ? ? ? ? ? ? ? ? ? ? ? mvn clean package

? ? ? ? ? ? ? ? ? ? ? ? mvn clean install?

執(zhí)行test之前要先執(zhí)行compile,執(zhí)行package之前是會先執(zhí)行test的,install? 前執(zhí)行package。

4、運(yùn)行項(xiàng)目

默認(rèn)生成的jar包是不能夠直接運(yùn)行的,因?yàn)閹в衜ain方法的類信息不會添加到manifest中,為了生成可執(zhí)行的jar文件,需要借助maven-shade-plugin插件,配置如下:

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

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

  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注釋 參考 0 前言 什么是...
    阿父閱讀 12,766評論 1 36
  • Maven概述 Maven定義Maven是一個項(xiàng)目管理和整合,統(tǒng)一管理jar包的工具;Maven為開發(fā)者提供了一套...
    THQ的簡書閱讀 868評論 0 0
  • 昨天準(zhǔn)備就現(xiàn)在開發(fā)中的問題寫一個Maven插件,完成一些代碼的自動生成。在好幾年前寫過幾個插件,這次重新找開看后,...
    jackzh閱讀 4,255評論 0 6
  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲所有項(xiàng)目使用到構(gòu)件,在ma...
    zlcook閱讀 6,464評論 0 25
  • 根據(jù)你的感覺回答下列問題。如果比較符合你的感覺,回答“是”,如果不是非常符合,或者完全不符合,就回答“否” 1. ...
    哆啦Aa有夢閱讀 1,049評論 0 0

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