首页
学习
活动
专区
工具
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,它是存在于maven的settings.xml文件中 1.1...使用快照就可以达到这一目的。 其实在快照版本在发布的过程中,Maven会自动为构件以当前时间戳做标记,有了这个时间戳,我们就可以随时找到最新的快照版本,这样也就解决刚才说的 协作开发的问题。...至于A如何检查B的更新,刚刚在讲配置的时候说过,快照配置中有一个元素可以控制检查更新的频率------updatePolicy 我们也可以使用命令行加参数的形式强制执行让maven检查更新: mvn clean...install-U maven到底是如何从仓库中解析构件的呢?

    2.1K20

    被吐槽 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"接着删除旧的分支,并把新建的分支名改成旧分支名称,推到远程仓库就行了。

    1.1K30

    如何正确的清理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:运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用。

    91430

    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) 使数据免受管理失误所带来的影响。

    21310

    如何清理系统中残留的软件数据?

    打开工具并选择“清理”或“卸载”选项。扫描系统以检测残留的软件数据。根据提示删除检测到的残留文件和注册表项。...找到与软件名称相关的文件夹并删除。方法三:清理注册表项注意: 修改注册表可能导致系统不稳定,请谨慎操作并备份注册表。步骤:打开注册表编辑器:按下Win + R键,输入regedit,然后按回车。...点击“临时文件”,选择需要清理的文件类型(如“临时Internet文件”、“回收站”等)。点击“删除文件”完成清理。...方法六:使用系统自带的磁盘清理工具步骤:打开“磁盘清理”工具:按下Win + S键,输入磁盘清理,然后按回车。选择需要清理的驱动器(通常是C:)。勾选“系统文件”选项以显示更多可清理的内容。...选择需要清理的文件类型并点击“确定”。方法七:重新安装软件以覆盖残留数据步骤:如果希望确保所有残留数据被清除,可以尝试重新安装软件:安装过程中通常会覆盖旧的配置文件和注册表项。

    4710

    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 脚本,然后配置以天为单位自动清理仓库。

    41820

    如何下载远程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文件所在的目录。

    1.2K10

    『互联网架构』软件架构-环境搭建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 * 的含义,就是所有的

    89820

    在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.7K20

    如何清理 Windows 系统中的临时文件

    使用磁盘清理工具Windows自带的磁盘清理工具是清理临时文件的最简单方法。打开磁盘清理工具cleanmgr清理临时文件在弹出的窗口中选择目标驱动器(通常是C盘)。...勾选以下选项:临时文件系统缓存回收站点击“确定”并确认清理。2. 手动删除用户临时文件用户的临时文件夹通常位于 %temp% 路径下,可以直接删除其中的内容。...删除用户临时文件del /s /q %temp%\*/s 表示递归删除子目录中的文件。/q 表示静默模式(无需确认)。3....清理旧的更新文件Windows更新会留下大量旧版文件,这些文件可以安全删除。...使用DISM工具清理更新文件DISM /Online /Cleanup-Image /StartComponentCleanup清理旧的系统还原点vssadmin delete shadows /for

    24710

    走进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.2K00
    领券