Maven 从Apache Archiva删除磁盘上的工件

Maven 从Apache Archiva删除磁盘上的工件,maven,archiva,Maven,Archiva,通过直接从磁盘存储库(linux托管)中删除文件,我从archiva中删除了一堆旧版本(2.0.0->2.0.6)的工件。不幸的是,我无法让Archiva重建其工件索引,并认识到这些版本不再存在 我试过了 在存储库上进行索引扫描 存储库上的目录扫描 跳出阿奇瓦进程 牺牲我的第一个孩子 从UI中手动删除版本->这起作用,这就是为什么2.0.0没有出现在列表中的原因 如果我检查磁盘上的目录结构,我可以看到maven-metadata.xml只包含保留的版本,因此已经正确地重建了版本 以下是文件系

通过直接从磁盘存储库(linux托管)中删除文件,我从archiva中删除了一堆旧版本(2.0.0->2.0.6)的工件。不幸的是,我无法让Archiva重建其工件索引,并认识到这些版本不再存在

我试过了

  • 在存储库上进行索引扫描
  • 存储库上的目录扫描
  • 跳出阿奇瓦进程
  • 牺牲我的第一个孩子
  • 从UI中手动删除版本->这起作用,这就是为什么2.0.0没有出现在列表中的原因
如果我检查磁盘上的目录结构,我可以看到maven-metadata.xml只包含保留的版本,因此已经正确地重建了版本

以下是文件系统的外观(主机/用户等已清理):

下面是maven-metadata.xml的内容

<?xml version="1.0" encoding="UTF-8"?>

<metadata>
  <groupId>com.mycompany</groupId>
  <artifactId>myartifact</artifactId>
  <versioning>
    <latest>2.0.9</latest>
    <release>2.0.9</release>
    <versions>
      <version>2.0.7</version>
      <version>2.0.8</version>
      <version>2.0.9</version>
    </versions>
    <lastUpdated>20160726123734</lastUpdated>
  </versioning>
</metadata>

com.mycompany

REST API的缓存方式与此类似:


2.0.1
2.0.2
2.0.3
2.0.4
2.0.5
2.0.6
2.0.7
2.0.8
2.0.9

这不是理想的解决方案,但这是我现在所拥有的全部

  • 执行清理操作
  • 从磁盘删除所有maven元数据文件
  • 从磁盘信息重新创建存储库
<?xml version="1.0" encoding="UTF-8"?>

<metadata>
  <groupId>com.mycompany</groupId>
  <artifactId>myartifact</artifactId>
  <versioning>
    <latest>2.0.9</latest>
    <release>2.0.9</release>
    <versions>
      <version>2.0.7</version>
      <version>2.0.8</version>
      <version>2.0.9</version>
    </versions>
    <lastUpdated>20160726123734</lastUpdated>
  </versioning>
</metadata>
<versionsList>
  <versions>2.0.1</versions>
  <versions>2.0.2</versions>
  <versions>2.0.3</versions>
  <versions>2.0.4</versions>
  <versions>2.0.5</versions>
  <versions>2.0.6</versions>
  <versions>2.0.7</versions>
  <versions>2.0.8</versions>
  <versions>2.0.9</versions>
</versionsList>