Я работал над длинной чередой проблем, которые, по-видимому, начались, когда на моей виртуальной машине Ubuntu не хватило места на диске пару недель назад. Я смог расширить виртуальный диск и обойти это, но, похоже, за кулисами это заставило Eclipse каким-то образом повредить некоторые файлы jar в моем репозитории «$ HOME/.p2». Было даже долго выяснять, какие jar-файлы были повреждены, поскольку Eclipse не мог установить новый плагин, говоря, что zip-файл недействителен, но в информации об исключении не было указано, какой zip-файл был поврежден.
В любом случае, подключив отладчик, я смог выяснить, какой zip-файл был поврежден в моем дереве «$HOME/.p2», а отчет об ошибке, который я подал из-за отсутствия информации в исходном исключении, был практически исправлен. немедленно (по крайней мере, в источнике).
Теперь у меня остался поврежденный репозиторий «$ HOME/.p2». Я нашел пять jar-файлов не нулевой длины, но как «jar tvf», так и unzip -tq сообщали об ошибках в этих пяти файлах (у других jar-файлов в репо не было этой проблемы).
Если это имеет значение, это список плохих файлов:
$HOME/.p2/pool/plugins/org.eclipse.emf.mapping.ecore2ecore.editor_2.7.0.v20160201-0859.jar
$HOME/.p2/pool/plugins/org.eclipse.emf.mapping_2.9.0.v20160201-0859.jar
$HOME/.p2/pool/plugins/org.eclipse.emf.mapping.ecore2xml_2.9.0.v20160201-0859.jar
$HOME/.p2/pool/plugins/org.eclipse.emf.mapping.ecore2xml.ui_2.8.0.v20160201-0859.jar
$HOME/.p2/pool/plugins/org.eclipse.emf.mapping.ui_2.7.0.v20160201-0859.jar
К сожалению, этот репозиторий «$HOME/.p2» «ощущается» как местный репозиторий Maven в «$HOME/.m2/repository». При этом вы можете просто удалить плохие файлы, и следующая сборка Maven восстановит их. Я попытался удалить рассматриваемые плохие файлы (на всякий случай переместив их куда-нибудь), но это просто меняет сообщение об ошибке, которое Eclipse дает мне с «плохого формата» на «файл не найден».
Мне нужно будет где-то найти эти конкретные банки, или есть более простой способ заставить Eclipse восстановить этот репозиторий?