Я удалил кучу старых версий (2.0.0 -> 2.0.6) артефакта из archiva, удалив файлы непосредственно из репозитория на диске (в Linux). К сожалению, я не могу заставить Archiva перестроить свой индекс артефактов и признать, что версии больше не существуют.Удаление артефактов на диске из Apache Archiva
Я попытался
- Index Сканирование на хранилище.
- Сканирование каталога в репозитории.
- Отскок процесса Archiva.
- Жертвоприношение моему первородному ребенку.
- вручную удалить версию из UI -> Это работает, поэтому 2.0.0 не отображается в списке
Если я проверить структуру каталогов на диске, я могу видеть, что специалист-метаданные .xml содержит только те версии, которые остаются, поэтому они были перестроены правильно.
Вот то, что файловая система выглядит (хосты/пользователи и т.д. облагороженных):
[13:51] Linux [[email protected]:/net/nas/Archiva/repository/myproject-release/com/mycompany/myartifact]> ls -al
total 24
drwx------ 5 root root 4096 Jul 25 15:07 .
drwx------ 23 root root 4096 Jul 12 18:15 ..
drwx------ 2 root root 4096 Jun 29 15:00 2.0.7
drwx------ 2 root root 4096 Jun 29 15:00 2.0.8
drwx------ 2 root root 4096 Jul 13 10:00 2.0.9
-rwx------ 1 root root 401 Jul 26 13:37 maven-metadata.xml
-rwx------ 1 root root 52 Jul 26 13:37 maven-metadata.xml.md5
-rwx------ 1 root root 60 Jul 26 13:37 maven-metadata.xml.sha1
Вот содержимый 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>
The Rest API аналогично кэшируются:
<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>