Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Совершенно безопасно удалить папку .m2/.repository
, так как maven повторно загрузит все необходимые зависимости при необходимости , за исключением ваших локальных проектов . Есть ли какая-нибудь другая папка в разделе .m2
занимающая место?
Для ваших локальных проектов maven будет жаловаться на то, что не нашел их. В этом случае вам просто нужно перекомпилировать и установить их. Они будут загружены в хранилище mvn clean install
Maven загружает все зависимости в папку .m2/repository
в домашнем каталоге пользователя (то есть C:\users\[your user name]\.m2\repository
в Windows. Когда вы удаляете эту папку, Maven создает папку и загружает зависимости для проектов, которые вы строите, с этого момента). .
Если вы хотите изменить папку на другой каталог, вы можете поместить файл конфигурации Maven settings.xml
в каталог .m2
. Пример файла можно найти в вашем дистрибутиве Maven в conf
. Затем найдите запись localRepository
, которая должна быть закомментирована следующим образом:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
Активируйте ее, установите желаемый путь, например, заставьте Maven загрузить зависимости в D:\myMavenRepository
и установить ее. до
<localRepository>D:/myMavenRepository</localRepository>