欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven?dependency?plugin使用心得總結(jié)

 更新時間:2023年10月17日 08:40:32   作者:拾年一劍  
這篇文章主要給大家介紹了關(guān)于Maven?dependency?plugin使用心得的相關(guān)資料,Maven是一個常用的Java build Manager,使用Maven可以很好的對Java Project的dependency進(jìn)行管理,需要的朋友可以參考下

概要

Maven提供了很多的插件,具體有哪些插件,可以在官網(wǎng)上查到:

http://maven.apache.org/plugins/index.html

本篇博客主要是總結(jié)下對maven dependency插件的使用心得。

maven dependency插件的主要作用

它屬于工具類的插件。它提供了操作構(gòu)件(artifact)的能力,可以從本地或者遠(yuǎn)程倉庫 復(fù)制或者解壓特定構(gòu)件到指定位置。

目標(biāo)(goals)

Dependency插件支持許多目標(biāo)(goals),可以參考下面鏈接:

http://maven.apache.org/plugins/maven-dependency-plugin/

這里呢,主要介紹copy和copy-dependencies、unpack、get這幾個goals。

copy

通過在 pom.xml 文件中的插件配置處定義一系列構(gòu)件,可以做到復(fù)制、重命名、指定版本等操作。它可以解決本地倉庫或者項目中缺少某個構(gòu)件文件的問題,并把它們放到指定位置。

插件配置細(xì)節(jié)可以看官網(wǎng)介紹在pom.xml中的配置參考如下:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.1</version>
        <executions>
          <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>[ groupId ]</groupId>
                  <artifactId>[ artifactId ]</artifactId>
                  <version>[ version ]</version>
                  <type>[ packaging ]</type>
                  <classifier> [classifier - optional] </classifier>
                  <overWrite>[ true or false ]</overWrite>
                  <outputDirectory>[ output directory ]</outputDirectory>
                  <destFileName>[ filename ]</destFileName>
                </artifactItem>
              </artifactItems>
              <!-- other configurations here -->
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

配置完,可以通過如下命令行執(zhí)行:

mvn dependency:copy

copy-dependencies

作用:

從倉庫中復(fù)制項目依賴的構(gòu)件到指定位置。

插件配置細(xì)節(jié)可以看官網(wǎng)介紹在pom.xml中的配置參考如下:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.1</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

配置完,可以通過如下命令行執(zhí)行:

mvn dependency:copy-dependencies

unpack

作用:

從倉庫中抓取一系列構(gòu)件,然后解壓它們到指定位置。

插件配置細(xì)節(jié)可以看官網(wǎng)介紹在pom.xml中的配置參考如下:

<project>
   [...]
   <build>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <version>3.1.1</version>
         <executions>
           <execution>
             <id>unpack</id>
             <phase>package</phase>
             <goals>
               <goal>unpack</goal>
             </goals>
             <configuration>
               <artifactItems>
                 <artifactItem>
                   <groupId>junit</groupId>
                   <artifactId>junit</artifactId>
                   <version>3.8.1</version>
                   <type>jar</type>
                   <overWrite>false</overWrite>
                   <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                   <destFileName>optional-new-name.jar</destFileName>
                   <includes>**/*.class,**/*.xml</includes>
                   <excludes>**/*test.class</excludes>
                 </artifactItem>
               </artifactItems>
               <includes>**/*.java</includes>
               <excludes>**/*.properties</excludes>
               <outputDirectory>${project.build.directory}/wars</outputDirectory>
               <overWriteReleases>false</overWriteReleases>
               <overWriteSnapshots>true</overWriteSnapshots>
             </configuration>
           </execution>
         </executions>
       </plugin>
     </plugins>
   </build>
   [...]
 </project>

配置完,可以通過如下命令行執(zhí)行:

mvn dependency:unpack

get

作用:

從指定的倉庫解析單個構(gòu)件(artifact),包括可傳遞性。

插件配置細(xì)節(jié)可以看官網(wǎng)介紹

操作命令如下:舉例獲得spring-core

mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-core -Dversion=5.1.5.RELEASE transitive=true

其中,transitive=true 代表同時還要抓取該構(gòu)件的依賴構(gòu)件。

總結(jié)

maven提供了強(qiáng)大的插件功能,遇到任何不清楚地,可以去官網(wǎng)查找資料,然后本地嘗試

到此這篇關(guān)于Maven dependency plugin使用心得總結(jié)的文章就介紹到這了,更多相關(guān)Maven dependency plugin內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的Cglib動態(tài)代理詳細(xì)解讀

    Java中的Cglib動態(tài)代理詳細(xì)解讀

    這篇文章主要介紹了Java中的Cglib動態(tài)代理詳細(xì)解讀,CGLib是一個強(qiáng)大的、高性能、高質(zhì)量的 Code 生成類庫,它可以在運(yùn)行期擴(kuò)展 Java 類與實現(xiàn) Java 接口,需要的朋友可以參考下
    2023-11-11
  • Java多個版本切換的幾種方法

    Java多個版本切換的幾種方法

    本文主要介紹了Java多個版本切換的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 深入理解Java中的類加載器原理

    深入理解Java中的類加載器原理

    這篇文章主要介紹了深入理解Java中的類加載器原理,類加載器負(fù)責(zé)加載所有的類,系統(tǒng)為所有被載入內(nèi)存中的類生成一個java.lang.Class實例,需要的朋友可以參考下
    2024-01-01
  • SpringBoot自定義錯誤處理邏輯詳解

    SpringBoot自定義錯誤處理邏輯詳解

    這篇文章主要介紹了SpringBoot自定義錯誤處理邏輯,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • java Bean與json對象間的轉(zhuǎn)換實例講解

    java Bean與json對象間的轉(zhuǎn)換實例講解

    在本篇文章里小編給大家整理的是關(guān)于java Bean與json間的轉(zhuǎn)換的實例內(nèi)容,有需要的朋友們吧可以學(xué)習(xí)參考下。
    2020-01-01
  • Java中的序列化(Serializable)和反序列化

    Java中的序列化(Serializable)和反序列化

    這篇文章主要介紹了Java中的序列化(Serializable)和反序列化,?JAVA序列化與反序列化就是JAVA對象與一串字節(jié)流之間的相互轉(zhuǎn)換,?我們在程序中創(chuàng)建的JAVA對象只存在于JVM中,需要的朋友可以參考下
    2023-09-09
  • Jrebel啟動失敗解決方案詳解

    Jrebel啟動失敗解決方案詳解

    這篇文章主要介紹了Jrebel啟動失敗解決方案詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 劍指Offer之Java算法習(xí)題精講求和篇

    劍指Offer之Java算法習(xí)題精講求和篇

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Java中HashMap 中的一個坑

    Java中HashMap 中的一個坑

    這篇文章主要介紹了Java中HashMap 中的一個坑,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價價值,需要的小伙伴可以參考一下
    2022-05-05
  • SpringCloud微服務(wù)續(xù)約實現(xiàn)源碼分析詳解

    SpringCloud微服務(wù)續(xù)約實現(xiàn)源碼分析詳解

    這篇文章主要介紹了SpringCloud微服務(wù)續(xù)約實現(xiàn)源碼分析,服務(wù)續(xù)期和服務(wù)注冊非常相似,服務(wù)注冊在Eureka?Client程序啟動之后開啟,并同時開啟服務(wù)續(xù)期的定時任務(wù)
    2022-11-11

最新評論