Одиночные кавычки должны использоваться для строковых значений, например, в списке VALUES ().
Backticks обычно используются для указания идентификатора, а также могут быть безопасны из-за случайного использования зарезервированных ключевых слов.
В сочетании PHP и MySQL двойные кавычки и одинарные кавычки значительно упрощают время записи запросов.
mvn clean install -U
-U
означает принудительное обновление зависимостей моментальных снимков . Невозможно обновить эти зависимости.
Я столкнулся с этим в последнее время и выполнил следующие исправления всех проблем
mvn -fae install
Вы можете эффективно работать с Eclipse IDE
. Конечно, если вы используете его.
Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
-U, похоже, принудительно обновляет все зависимости. Если вы хотите обновить одну зависимость без очистки или -U, вы можете просто удалить ее из своего локального репо и затем построить. Пример ниже, если для обновления slf4j-api 1.7.1-SNAPSHOT:
rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile
Вам нужно проверить файл settings.xml в каталоге <maven_home>/conf
.
На всякий случай кто-то хочет только привязки моментальных снимков проекта обновления и не хочет устанавливать артефакт:
mvn dependency:resolve -U
Не забудьте повторно импортировать зависимости в вашу среду IDE. В IDEA вам нужно щелкнуть правой кнопкой мыши по файлу pom и выбрать Maven -> Reimport
Все ответы здесь не помогли мне. Я использовал метод молотка:
find ~/.m2/ -name "*.lastUpdated" | xargs rm
Это устранило проблему :-)
Мы можем заставить последнее обновление релиза и репозитория снимков с помощью следующей команды:
mvn --update-snapshots clean install
Это одна из самых неприятных вещей о Maven. Для меня происходит следующее: если я добавляю зависимость, запрашивающую больше зависимостей и все больше и больше, но имею медленное соединение, она швы останавливается во время загрузки и выключения времени. В то время как выбор времени для всех зависимостей, еще не выбранных, помечены владельцами мест в кеше .m2, и Maven не будет (никогда) не забрать его, если я не удалю запись владельца места из кеша (как указано другим), удалив его.
Итак, насколько я понял, Maven или более точный плагин Eclipse Maven имеет ошибку в этом отношении. Кто-то должен сообщить об этом.
У меня ошибка в другом контексте. Поэтому мое решение может быть полезно для других, которые омрачают вопрос:
Проблема: я скопировал локальный репозиторий на другой компьютер, который не имеет никакого подключения к специальному репозиторию. Итак, maven попытался проверить артефакты против недействительного репозитория.
Мое решение: удалить файлы _maven.repositories.
Если вы не знаете, что находится в вашем локальном репозитории, я рекомендую запустить сборку с помощью опции:
-Dmaven.repo.local=localrepo
Таким образом, вы обеспечите создание чистой среды.
mvn clean install -U
не работает. Однако mvn -U clean
, за которым следует mvn clean install
.
Если ваш локальный репозиторий каким-то образом отключен для выпускных банок, а не моментальных снимков (-U
и --update-snapshots
обновляет только моментальные снимки), вы можете очистить локальное репо, используя следующее:
mvn dependency:purge-local-repository
Вероятно, вы захотите снова очистить и установить:
mvn dependency:purge-local-repository clean install
Больше информации доступно на странице https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging -local-repository.html
В моем случае сначала я сделал mvn clean install -U
, все еще показывал ту же ошибку, после чего я закрыл проект, и агиан снова открыл его. Наконец работал.
Для исправления этой проблемы из Eclipse:
1) Добавьте зависимость ниже в Maven pom.xml и сохраните файл pom.xml.
<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
2) Перейти к проекту >> Maven >> Обновить проект
выбрать проект и нажать «ОК».
3) Необязательный шаг, если он не разрешен до шага 2, затем выполните шаг ниже после выполнения шага 1
Перейти к проекту >> Maven >> Обновить проект >> установите флажок «Принудительное обновление снимков / выпусков»
выберите проект и нажмите «ОК».
-U используется для принудительного обновления maven Repo. Используйте
mvn -U clean install
Важно добавить, что основное отличие работы mvn
с -U и без -U заключается в том, что -U
переопределит ваши локальные банки SNAPSHOT с удаленными банками SNAPSHOT.
Локальные баннеры SNAPSHOT, созданные из локальных mvn install
, в случаях, когда у вас есть другие модули вашего proj, которые генерируют банки.
У меня была эта проблема по другой причине. Я отправился в репозиторий maven https://mvnrepository.com , ища последнюю версию весеннего ядра, которая в то время была 5.0.0.M3 / Репозиторий показал мне эту запись для моего пом. xml:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.0.M3</version>
</dependency>
Наивный дурак, которым я являюсь, я предположил, что в комментарии говорилось, что банка находится в репозитории по умолчанию.
Однако после многого избиения я увидел заметку чуть ниже xml, в которой говорилось: «Примечание: этот артефакт находится в публичном репозитории Alfresco ( https://artifacts.alfresco.com / nexus / content / repositories / public / ) "
Таким образом, комментарий в XML полностью вводит в заблуждение. Ящик находится в другом архиве, поэтому Maven не смог его найти!
У меня такая же ошибка с зависимостью android-maps-utils. Использование пакета aar type в разделе зависимости разрешает мою проблему. По умолчанию тип jar, поэтому можно проверить, какой тип зависимости загружается в репозиторий.