摘要:有個時候多人多協(xié)作開發(fā)過程中,會存在臨時修改的二方包,同樣版本需要重新拉取的情況。發(fā)現(xiàn)大部分人包括自己長久以來也是采用最原始的方法,一層層找到對應(yīng)的目錄刪除對應(yīng)的文件。某天實在是受不了了,寫了個小工具分享下,小代碼解決小問題。
有個時候多人多team協(xié)作開發(fā)過程中,會存在臨時修改的二方包,同樣版本需要重新拉取的情況。發(fā)現(xiàn)大部分人包括自己長久以來也是采用最原始的方法,一層層找到對應(yīng)的目錄刪除對應(yīng)的文件。某天實在是受不了了,寫了個小工具分享下,小代碼解決小問題。
外部依賴:fastjson,commons-io,commons-lang3,不要嘲笑,有工具干嘛不用呢,非得造輪子嗎。
import com.alibaba.fastjson.JSON; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; /** * @author tjw */ public class MavenLocalRepoCleaner { /** * coordinateJson * { * "groupId1":"artifactId1:version1,artifactId2:version2...", * "groupId2":"artifactId:version,..." * } */ public static void main(String[] args) { String coordinateJson="{" + ""top.xbynet.xxx":""" + "}"; MapcoordinateMap=JSON.parseObject(coordinateJson,HashMap.class); Path m2Repo= Paths.get(System.getProperty("user.home"),".m2","repository"); coordinateMap.entrySet().stream().forEach(v->{ String groupId=v.getKey(); groupId = groupId.replace(".", File.separatorChar); if(StringUtils.isBlank(v.getValue())){ Path dir = Paths.get(m2Repo.toString(), groupId); try { FileUtils.deleteDirectory(dir.toFile()); } catch (IOException e) { e.printStackTrace(); } }else { String[] artfactIdVers = v.getValue().split(","); for (String str : artfactIdVers) { String ver = ""; if (str.contains(":")) { ver = str.split(":")[1]; } String artfactId = str.split(":")[0]; Path dir = Paths.get(m2Repo.toString(), groupId, artfactId, ver); try { FileUtils.deleteDirectory(dir.toFile()); } catch (IOException e) { e.printStackTrace(); } } } }); } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69571.html
摘要:清除構(gòu)建緩存為每一個服務(wù)的構(gòu)建環(huán)境提供緩存,項目會對的安裝目錄,配置目錄,和本地倉庫目錄提供了緩存,用戶通過以下設(shè)置清理緩存。本文檔詳細(xì)介紹了源碼構(gòu)建項目時的各種詳細(xì)設(shè)置與操作。 概述 根據(jù)大量的Rainbond用戶反饋,我們發(fā)現(xiàn)在Rainbond源碼構(gòu)建java-maven項目的過程中,最容易出現(xiàn)問題的一環(huán)就是獲取構(gòu)件失敗。 比如: [ERROR] Failed to execute...
摘要:簡介是一個自動為網(wǎng)頁添加的版本號插件支持的自動壓縮,支持多種方法版本號添加,在使用時對代碼入侵,不需要在頁面上做任何標(biāo)記,對開發(fā)友好,不需要調(diào)整現(xiàn)在代碼直接引入中配置,會自動對打包的頁面進(jìn)行處理該插件自動采集文件的值進(jìn)行文件版本號修 jcv-maven-plugin 簡介 jcv-maven-plugin是一個自動為網(wǎng)頁添加js css的版本號maven插件 支持js css的自...
摘要:的主要思想是約定優(yōu)于配置。強(qiáng)烈建議遵循以上規(guī)范,避免不必要的麻煩。依賴傳遞依賴范圍除了控制,還會對依賴傳遞產(chǎn)生影響。此外還提供了和來進(jìn)一步管理依賴,分別稱為可選依賴和排除依賴。 showImg(https://segmentfault.com/img/remote/1460000012363876?w=1240&h=698); Maven 是跨平臺的項目管理工具,主要服務(wù)于基于Java...
摘要:基本配置環(huán)境變量環(huán)境變量中添加為主目錄在中添加使用阿里云中央倉庫修改根目錄下文件夾中的文件,內(nèi)容如下創(chuàng)建基于的項目使用命令行創(chuàng)建使用原型插件創(chuàng)建工程。 「博客搬家」 原地址: 簡書 原發(fā)表時間: 2017-03-23 Maven 是基于項目對象模型「POM」,可以通過一小段描述信息來管理項目的構(gòu)建、報告和文檔的軟件項目管理工具。本文總結(jié)了 Maven 的基本用法。 1. Maven...
摘要:一用途在創(chuàng)建項目的時候,可以自己手動創(chuàng)建,也可以利用工具創(chuàng)建,也就是來創(chuàng)建??梢杂脕韯?chuàng)建項目部署項目安裝管理依賴編譯代碼管理二進(jìn)制等。的目的是使項目過程規(guī)范化自動化高效化及強(qiáng)大的可擴(kuò)展性。 一、maven用途 java在創(chuàng)建項目的時候,可以自己手動創(chuàng)建,也可以利用工具創(chuàng)建,也就是maven來創(chuàng)建。 maven可以用來創(chuàng)建項目、部署項目、安裝管理依賴、編譯代碼、管理二進(jìn)制等。 mave...
閱讀 1323·2021-11-11 11:00
閱讀 3040·2021-09-24 09:47
閱讀 4949·2021-09-22 15:53
閱讀 960·2021-09-10 10:50
閱讀 3206·2021-09-01 11:40
閱讀 1159·2019-08-30 15:55
閱讀 470·2019-08-30 12:49
閱讀 1048·2019-08-29 17:12