日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven 关联源码插件_繁琐的任务简单化,Maven的插件机制

發(fā)布時間:2023/12/13 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven 关联源码插件_繁琐的任务简单化,Maven的插件机制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Maven的生命周期與Maven插件是項(xiàng)目綁定的,生命周期可以理解為項(xiàng)目構(gòu)建步驟的集合,它定義了各個構(gòu)建環(huán)節(jié)的執(zhí)行順序,有了這個順序,Maven 就可以自動化的執(zhí)行構(gòu)建命令。Maven 的核心程序中定義了抽象的生命周期,生命周期中各個階段的具體任務(wù)是由插件來完成的。有三套相互獨(dú)立的生命周期,各個構(gòu)建環(huán)節(jié)執(zhí)行順序不能打亂,必須按照既定的正確順序來執(zhí)行。

  • Clean Lifecycle:在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作
  • Default Lifecycle:構(gòu)建的核心部分,編譯、測試、打包、安裝、部署等等。
  • Site Lifecycle:生成項(xiàng)目報告,站點(diǎn),發(fā)布站點(diǎn)。
  • 這三個都是相互獨(dú)立的。你可以僅僅調(diào)用 clean 來清理工作目錄,僅僅調(diào)用 site 來生成站點(diǎn)。當(dāng)然,也可以直接運(yùn)行 mvn claen install site 運(yùn)行所有這三套生命周期。Maven默認(rèn)地將一些默認(rèn)插件的目標(biāo)與Maven的生命周期維系在了一起,比如default的compile這個階段就是和maven-compiler-plugin這個插件的compile目標(biāo)維系著不可分割的關(guān)系。
    為了不讓用戶不用任何配置就能進(jìn)行一般程度的項(xiàng)目構(gòu)建,Maven默認(rèn)給自己生命周期的核心階段綁定了自己的插件。clean如下:

    site如下:

    最麻煩的就是最核心的default:


    通過 Maven 的生命周期我們可以了解到,不同的生命周期綁定不同的插件;同時我們知道,下載下來的maven核心的東西不過3-4M,它主要就是通過插件來完成這些工作的,一旦碰到?jīng)]有的插件,它會跑到相應(yīng)的地方下載,然后來完成整個過程。那么在我們的項(xiàng)目中如何使用插件呢?
    打開http://maven.apache.org/plugins/index.html網(wǎng)址,我們可以看到apache下面的很多插件,apache下面的插件是比較正規(guī)的,它里面的信息非常詳細(xì)。下面我們來看看里面有個source的插件的用法。
    Source插件是對源代碼進(jìn)行打包的一個插件,默認(rèn)情況下,它會將生成的源代碼放在工程目錄的target下面。
    Source插件具有五個目標(biāo):
    source:aggregateaggregrates sources for all modules in an aggregator project. source:jaris used to bundle the main sources of the project into a jar archive. source:test-jaron the other hand, is used to bundle the test sources of the project into a jar archive. source:jar-no-forkis similar to jar but does not fork the build lifecycle. source:test-jar-no-forkis similar to test-jar but does not fork the build lifecycle.
    在我們的工程pom.xml中,在后面引入下面這段配置:

    <build> <plugins><plugin> <groupId> org.apache.maven.plugins </groupId><artifactId> maven-source-plugin </artifactId> <version>2.1.2</version> </plugin></plugins> </build>

    上面這段配置就是對源碼進(jìn)行打包的插件,我們運(yùn)行source:jar-no-fork,那么在項(xiàng)目的目錄底下的target會生成一個類似于user-core-0.0.1-SNAPSHOT-sources.jar這樣的文件,即項(xiàng)目的源文件。那么如何將這個插件與特定的生命周期綁定呢?我們來看下面這段配置:

    <build> <plugins> <plugin><groupId>org.apache.maven.plugins </groupId><artifactId>maven-source-plugin</artifactId> <version>2.1.2</version> <executions> <execution> <phase>package</phase><goals> <goal>jar-no-fork</goal></goals> </execution> </executions></plugin> </plugins> </build>

    通過這段配置,大家可以用mvn package將項(xiàng)目打包的同時會將源代碼進(jìn)行打包。圖示說明:


    Apache Maven里面還有很多有用的插件,大家可以自己去試一下,里面說明很詳細(xì),大家只要按著官方文檔進(jìn)行配置,一般情況下是沒問題的

    總結(jié)

    以上是生活随笔為你收集整理的maven 关联源码插件_繁琐的任务简单化,Maven的插件机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。