Maven загрузки имеют .lastUpdated как расширение - PullRequest
65 голосов
/ 27 марта 2010

У меня есть установка Eclipse с m2eclipse и subversive. Я импортировал проект maven2 из SVN. Но я получаю сообщение об ошибке, что отсутствует целая куча артефактов (например: Отсутствует артефакт org.springframework: spring-test: jar: 3.0.1.RELEASE: test).

Если я загляну в свой репозиторий, я увижу там файлы jar, но у них есть дополнительное расширение .lastUpdated. Почему maven добавляет .lastUpdated к банкам? И что еще более важно: как я могу это исправить?

Нет никаких упоминаний о типе lastUpdated в моих POM.

Ответы [ 6 ]

48 голосов
/ 31 октября 2012

Эти файлы указывают Maven, что он пытался получить архив при загрузке, но безуспешно. Чтобы сохранить пропускную способность, он не будет пытаться сделать это снова, пока не истечет определенный период времени, закодированный в файле. Ключ командной строки -U заставляет maven выполнить обновление до периода повторной попытки. Это может быть необходимо, если вы пытались выполнить сборку, не подключаясь к сети.

Метод удаления файлов работает с большинством версий maven, но так как файлы являются внутренними памятками maven, я бы не рекомендовал этот метод. Нет никаких гарантий, что на эту информацию не будут ссылаться или хранить в другом месте, и такие манипуляции могут повредить систему.

12 голосов
/ 29 декабря 2010

Как сказал rperez , я использую для удаления всех этих .lastUpdated файлов. В Linux я создал небольшой скрипт для упрощения :

find -name \*.lastUpdated -exec rm -fv {} +

Просто создайте файл с предыдущим содержимым и поместите его в локальный репозиторий Maven. Обычно это будет ~/.m2/repository.

6 голосов
/ 27 марта 2010

Я установил Maven2 и запустил mvn compile из командной строки. Это, похоже, решило проблему

2 голосов
/ 19 октября 2012

Если вы столкнулись с этой проблемой и используете Nexus, возможно, у вас определено правило маршрутизации, что неверно. Я ударил это сам, и файлы, которые он загружал, были названы правильно, по соответствующим URL-адресам, которые он просматривал, но все они были с расширением .lastUpdated и сообщением об ошибке в качестве содержимого.

1 голос
/ 31 марта 2010

у вас могут быть проблемы с некоторыми из артефактов, которые нужно извлечь из хранилища. Например, Spring Framework имеет свой собственный репозиторий. это расширение добавляется, когда артефакт не может быть полностью загружен. добавьте репозиторий Spring Framework в ваш pom или файл settings.xml, удалите папку, в которой находятся сломанные файлы jar, и начните снова

0 голосов
/ 18 января 2019

Откройте свой терминал, перейдите в каталог проекта вашего Eclipse и запустите:

mvn install

Если mvn install не обновляет ваши зависимости, вызовите его с переключателем для принудительного обновления:

mvn install -U

Это гораздо более безопасный подход по сравнению с подделкой файлов maven при удалении «.lastUpdated».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...