首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

maven:如何清理本地repo中的旧快照?

在使用 Maven 构建工具时,随着时间的推移,本地仓库(~/.m2/repository)中可能会积累大量的旧快照(SNAPSHOT)版本。这些旧快照版本可能会占用大量磁盘空间,并且通常不再需要。为了清理本地仓库中的旧快照版本,你可以使用 Maven 的 dependency:purge-local-repository 插件或手动删除。

方法 1: 使用 dependency:purge-local-repository 插件

Maven 提供了 dependency:purge-local-repository 插件,可以用来清理本地仓库中的旧快照版本。以下是一个示例命令:

代码语言:javascript
复制
mvn dependency:purge-local-repository -DreResolve=false -DactTransitively=false -DincludeSnapshots=true

参数解释:

  • -DreResolve=false:不重新解析依赖项。
  • -DactTransitively=false:不递归处理依赖项。
  • -DincludeSnapshots=true:包括 SNAPSHOT 版本。

方法 2: 使用 versions:purge-snapshots 插件

Maven 的 versions 插件也提供了一个目标,可以用来清理本地仓库中的旧快照版本。以下是一个示例命令:

代码语言:javascript
复制
mvn versions:purge-snapshots

方法 3: 手动删除

如果你更喜欢手动删除旧快照版本,可以直接在文件系统中操作。以下是一个示例脚本,展示如何在 Unix/Linux 系统上手动删除旧快照版本:

代码语言:javascript
复制
find ~/.m2/repository -type d -name "*-SNAPSHOT" -exec rm -rf {} +

方法 4: 使用 maven-cleanup-plugin

maven-cleanup-plugin 是一个专门用于清理本地仓库的插件。你可以在 pom.xml 中配置该插件,并运行相应的目标来清理旧快照版本。

添加插件到 pom.xml

代码语言:javascript
复制
<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>maven-cleanup-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>delete-snapshots</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

运行插件:

代码语言:javascript
复制
mvn cleanup:delete-snapshots
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Maven 如何本地项目发布到 Archiva

很多时候,我们可能并不希望将我们构建代码发布到公共 Maven 仓库。 为了一些私有的项目发布到公司内部 Archiva 如何使用 Maven 进行发布。 ---- 这个其实比较简单。...一个具有发布权限 Maven 仓库 在 settings.xml 配置你可以访问这个仓库用户名和密码 配置你 pom.xml 文件。...具体来说,针对一个条件,具有发布权限 maven 仓库,最简单办法你可以部署一个本地 archiva。...例如我们使用仓库地址为 https://maven.ossez.com/,这是一个我们测试和发布私有仓库地址。当然,你也可以使用其他服务器或者商用服务。...在 settings.xml 配置 server, 在这里你需要配置 id 和用户名和密码。 这里你需要使用发布 archiva 真实用户名和密码。 修改项目的 pom.xml 文件。

2.1K00
  • maven本地仓库与远程仓库

    Maven 仓库分类: maven仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库 1.本地仓库,顾名思义,就是Maven本地存储构件地方.../仓库目录,这就是Maven仓库默认位置 如何更改maven默认本地仓库位置:这里要引入一个新元素:localRepository,它是存在于mavensettings.xml文件 1.1...使用快照就可以达到这一目的。 其实在快照版本在发布过程Maven会自动为构件以当前时间戳做标记,有了这个时间戳,我们就可以随时找到最新快照版本,这样也就解决刚才说 协作开发问题。...至于A如何检查B更新,刚刚在讲配置时候说过,快照配置中有一个元素可以控制检查更新频率------updatePolicy 我们也可以使用命令行加参数形式强制执行让maven检查更新: mvn clean...install-U maven到底是如何从仓库解析构件呢?

    2K20

    被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了

    ,我这人懒得很,本地代码提交成功基本就不管了。...这个Git仓库清理工具叫BFG Repo-Cleaner,可以帮助我们筛选、清理大文件对象,官方文档地址:https://rtyley.github.io/bfg-repo-cleaner ,接下来看看这工具咋用...$ wget https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar2、clone 仓库在 clone 仓库时候推荐使用...图片每次提交都会生成一次快照,这些快照可能包含大量文件和代码,频繁提交会导致版本库快照数量增加。Git使用是一种增量存储方式,每次提交只存储发生了变化文件和代码。...git add -Agit commit -am "Initial commit"接着删除分支,并把新建分支名改成分支名称,推到远程仓库就行了。

    93830

    如何正确清理MySQL数据

    如何正确清理MySQL数据 1. 为什么删了数据,表文件大小没有变 1.1 数据删除流程 删除记录,只会将记录标记为删除,表示该位置可以服用。 数据数据页,表示数据页可以复用。...使用 delete 删除所数据,所有的数据页会被标记为可复用,但是磁盘空间占用没有变化。 1.2 数据空洞 删除,插入等操作会使数据页上出现空元素,也叫做数据空洞。 2....如何避免数据空洞 假设数据表A存在大量数据空洞,解决办法就是重建表。 2.1 重建表流程 建立临时文件,扫描表A主键所有数据页。 利用表A记录生成B+树,存储到临时文件X。...生成临时文件过程,所有对表A操作记录在日志文件。 临时文件X生成后,将日志文件应用到临时文件,得到新临时文件 用临时文件 替换表A数据文件。...2.2 什么是Online DDL 在复制表同时,将对表操作,写入日志文件,之后再将日志文件应用到复制文件上,实现复制表时候,不阻塞其他对表写入操作,因此称为Online DDL。

    4.7K30

    Artifactory清理未使用二进制品最佳实践

    Artifactory充分利用了基于Checksum存储,但是这种机制无法代替常规工件清理任务。软件开发可能很杂乱,很多时候Artifactory许多工件都从未使用过。...Artifactory支持六种存储库类型“最大唯一快照”标记: – Maven – NuGet – Gradle –Ivy – Docker – SBT Artifactory使用Artifactory...例如,此Maven JAR文件被识别为快照运行编号3一部分: jfrog / hello / 1.0.5-SNAPSHOT / hello-1.0.5-20190620.224837-3.jar...要在Artifactory启用此功能,请更新本地存储库设置: 2.png 启用此设置后,在“最大唯一快照数”上方进行上传将在下次构建运行期间删除所有较早发行版。...您可以在“ 未使用工件清理期”部分添加清理工件之前小时数: 3.png 这并不意味着工件会在12小时后被删除。相反,它在内部将工件标记为“未使用”。

    3.6K00

    自从用了这款项目构建神器后,领导开始对我刮目相看~

    artifactId定义了项目在组织唯一ID。 version指定了项目当前版本,SNAPSHOT意为快照,说明该项目还处于开发。 name 声明了一个对于用户更为友好项目名称。...配置好了以后运行命令 mvn clean deploy,Maven就会将项目部署到对应远程仓库。项目是快照还是发布版本通过之前远程仓库配置项 releases 和 snapshots 来区分。...(会默认把target文件夹数据清理)。...mvn clean compile:表示先运行清理之后运行编译,会将代码编译到target文件夹。 mvn clean test:运行清理和测试。...mvn clean package:运行清理和打包。 mvn clean install:运行清理和安装,会将打好包安装到本地仓库,以便其他项目可以调用。

    89730

    SQL如何快照,恢复被误删数据?

    什么是快照 数据库快照是sql server 2005一个新功能。MSDN上对它定义是: 数据库快照是数据库(称为“源数据库”)只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。...; go SELECT * FROM dbo.test; 结果: 删除测试库数据 下面我们删除测试数据库数据 use Snapshot_Test; go DELETE FROM dbo.test;...结果: 使用快照恢复数据库 上面删除是我们模拟误删了数据库数据,但是幸好我们做了数据库快照。...RESTORE DATABASE Snapshot_test FROM DATABASE_SNAPSHOT = 'Snapshot_test_shot' 执行完上面的恢复语句后,我们再查询一下测试库表...应用场景 在MSDN数据库快照典型应用是 1) 维护历史数据以生成报表。 2) 使用为了实现可用性目标而维护镜像数据库来卸载报表。 3) 使数据免受管理失误所带来影响。

    13610

    Maven 自动化构建和部署

    自动化构建和发布 项目开发过程,部署过程包含需如下步骤: 将所项目代码提交到 SVN 或者代码库并打上标签。 从 SVN 上下载完整源代码。 构建应用。...使用-Dmaven.repo.local参数:如果持续集成服务器有很多任务,每个任务都会使用本地仓库,下载依赖至本地仓库,为了避免这种多线程使用本地仓库可能会引起冲突,可以使用-Dmaven.repo.local...=/home/juven/ci/foo-repo/ 这样参数为每个任务分配本地仓库。...综上,持续集成服务器上集成命令应该为 mvn clean deploy -B -e -U -Dmaven.repo.local=xxx 此外,定期清理持续集成服务器本地 Maven 仓库也是个很好习惯...,这样可以避免浪费磁盘资源,几乎所有的持续集成服务器软件都支持本地脚本任务,你可以写一行简单 shell 或 bat 脚本,然后配置以天为单位自动清理仓库。

    40420

    如何下载远程maven仓库jar 手动放到本地仓库?

    如何下载远程maven仓库jar 手动放到本地仓库? 在使用Maven构建Java项目时,通常会从中央仓库或其他远程仓库下载所需依赖库。...例如,Maven中央仓库地址是:https://repo.maven.apache.org/maven2/ 以commons-lang3为例,在中央仓库可以找到以下路径:org/apache/commons...将jar包手动添加到本地Maven仓库,一般在本地仓库路径下找到相应目录,将jar文件复制到该目录下对应文件夹即可。...以下是如何执行这些步骤详细说明: 打开Maven中央仓库网站:https://mvnrepository.com/ 在搜索框输入“mysql jdbc”,然后按回车键搜索。...现在,您已经下载了MySQL JDBC驱动程序JAR文件。接下来,您需要将该文件安装到本地Maven仓库。以下是如何执行这些步骤详细说明: 打开终端或命令行工具,并切换到JAR文件所在目录。

    68010

    『互联网架构』软件架构-环境搭建maven(三)

    对应超级pom 版本 dependencies 项目依懒包 maven jar包流程 maven jar先在本地找,查找本地 本地找不到去远程仓库找 有的公司有自己私服,本地找不到先找自己私服...mvn 基本命令 mvn clean // 清理 mvn compile // 编译 mvn test // 测试 mvn package // 打包 mvn install // 打包并上传到本地仓库...parent元素属性对应都是父项目中内容。在parent元素还有一个属性relativePath,maven会通过这个路径去查找父项目的pom.xml,如果找不到会从本地仓库查找。...Snapshots 本地开发某个模块快照仓库 Releases 本地开发某个模块正式版本仓库 proxy(公网发布jar文件) Apache Snapshots apache快照仓库 Central...如何本地项目访问私服,上传jar包 maven 私服setting.xml配置,注入如果是特定仓库修改mirrorOf 换成对应repository id mirrorOf * 含义,就是所有的

    87820

    在Oracle如何定时清理INACTIVE状态会话?

    今天小麦苗给大家分享是在Oracle如何定时清理INACTIVE状态会话? 在Oracle如何定时清理INACTIVE状态会话?...一般情况下,少量INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量会话长时间处于INACTIVE状态,那么将会导致大量系统资源被消耗,造成会话数超过系统...此时就需要清理那些长时间处于INACTIVE状态会话。...人为定期检查、杀掉这类会话肯定不太现实,要定期清理那些长时间处于INACTIVE会话,可以使用如下几种办法: 1. sqlnet.ora文件里加上sqlnet.expire_time,单位为分钟数。...直接KILL掉INACTIVE会话。V$SESSION视图中LAST_CALL_ET字段表示用户最后一条语句执行完毕后到sysdate时间,单位为秒。

    2.5K20

    走进Java接口测试之构建工具Maven入门

    官网:https://maven.apache.org/ 安装 这里只介绍 window下如何安装,在安装 Maven 之前,先确认已经安装了 JDK。 ? 接着去下载附件解压到你想要目录就行了。...简单介绍下 Maven 常用命令: mvn clean:表示运行清理操作(会默认把 target 文件夹数据清理); mvn clean compile:表示先运行清理之后运行编译,会将代码编译到...target 文件夹; mvn clean test:运行清理和测试; mvn cleanpackage:运行清理和打包; mvn clean install:运行清理和安装,会将打好包安装到本地仓库...version:指定了项目当前版本 0.0.1-SNAPSHOT,SNAPSHOT 意为快照,说明该项目还处于开发,是不稳定; name:元素生命了一个对于用户更为友好项目名称,虽然这不是必须...本地仓库 一般来说,在 Maven 项目目录下,没有诸如 lib/ 这样用来存放依赖文件目录。当 Maven 在执行编译或测试时,如果需要使用依赖文件,它总是基于坐标使用本地仓库依赖文件。

    1.2K20

    走进Java接口测试之构建工具Maven入门

    ,将 Maven 安装配置到操作系统环境,主要就是配置 M2_HOME 和 PATH 两项,如下图: 都搞定后,验证一下,打开 doc 输入mvn -v 如何得到下面信息就说明配置成功了 主要目录...简单介绍下 Maven 常用命令: mvn clean:表示运行清理操作(会默认把 target 文件夹数据清理) mvn clean compile:表示先运行清理之后运行编译,会将代码编译到...target 文件夹 mvn clean test:运行清理和测试。...mvn clean package:运行清理和打包。 mvn clean install:运行清理和安装,会将打好包安装到本地仓库,以便其他项目可以调用。...version:指定了项目当前版本 0.0.1-SNAPSHOT,SNAPSHOT 意为快照,说明该项目还处于开发,是不稳定

    1.1K00

    Maven环境搭建

    注意:不要用配置之前变量Dos窗口,要新打开一个,窗口还是用环境变量 第二步:修改仓库位置 本地仓库和远程仓库区别,Maven工程首先会从本地仓库获取jar包,当无法获取指定jar包时...这些文件就是我们从maven中央仓库下载到本地仓库。...等以后我们本地仓库积累了我们常用jar包后,我们开发将变得非常规范和方便。 第四步:编译项目代码 我们项目已经创建完成。但我们点开目录发现,它并不是我们eclipse所需要项目目录格式。...在命令提示符下进入到我们创建项目目录(就是当前目录/myweb)下,执行:mvn clean compile Clean 告诉maven清理输入出目录target/,compile告诉maven编译项目主代码...Name :M2_REPO   注意这个名字必须要大写。 但是一般情况下会有这个变量但是后面指向本地仓库位置往往不对,后面点击Remove也没有用,那应该怎么办呢?

    24810
    领券