Есть ли способ сказать maven (при выполнении mvn package, mvn site или ...) не разрешать зависимости из локального репозитория?
Нет, так работает полное разрешение зависимостей (через локальный репозиторий).
Иногда возникают проблемы, когда ранее кэшированные зависимости (например, SomeProject-0.7-ALPHA) больше не доступны в удаленном хранилище.
Извините за указание очевидного, но удаление зависимостей из удаленного репозитория является ужасной практикой и приводит к ... ну, типа неприятностей, с которыми вы сталкиваетесь. Если возможно, избегайте этого.
Как только я поделюсь своим pom с другими, у них могут возникнуть проблемы, так как у них нет кэшированной версии этой зависимости, и зависимость больше не может быть разрешена из удаленного репозитория.
Один из способов проверить, что все будет работать для других, - это очистить зависимости проекта, которым вы собираетесь поделиться из вашего локального репозитория, и повторно разрешить их. Конечно, делать это вручную было бы очень больно, но хорошая новость в том, что у Maven Dependency Plugin есть цель purge-local-repository
.
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:purge-local-repository \
-DreResolve=true \
-DactTransitively=true \
-Dverbose=true
Если это не удастся, тогда вы знаете, что что-то отсутствует и не может быть решено больше, а это то, что вы хотите знать. Но вы также потеряли его, поэтому сделайте резервную копию вашего хранилища, если это важно для вас.