2014-11-12 2 views
0

Я использую Apache-Maven-3.2.3Maven не хранящие артефакты в каталоге, указанном в localRepository settings.xml

Он находится в C: \ Java \ апач-Maven-3.2.3

файл settings.xml находится C: \ Java \ апач-Maven-3.2.3 \ конф \ settings.xml

Внутри этого settings.xml файла, у меня есть следующие определены:

<localRepository>C:/java/maven_repo</localRepository> 

У меня оконная среда переменные определены:

  • M2_HOME = C: \ Java \ Apache-Maven-3.2.3
  • М2 =% M2_HOME% \ бин
  • переменная PATH среда включает в себя% М2%

меня настраивает моя STS (Eclipse), чтобы использовать внешнюю установку Maven в C: \ Java \ Apache Maven-3.2.3-

Моего STS Maven -> в stallations показывает, что глобальные настройки: C: \ java \ apache-maven-3.2.3 \ conf \ settings.xml

My STS Maven -> Пользовательские настройки показывают, что локальный репозиторий из объединенных и глобальных настроек: C: \ Java \ maven_repo

Там никаких settings.xml на C:./Users/[MyUser]/м2

на самом деле, я удалить всю папку .m2 в C:/Users/[MyUser ] /. m2 обязательно

Однако, Когда я обновляю Maven через STS, он по-прежнему загружает артефакты в каталог по умолчанию .m2 по умолчанию: C: /Users/[myuser]/.m2/repository

Мои проекта Eclipse также показаны Maven зависимостей можно найти в C:/Users/[MyUser]/м2/хранилище

Может кто-нибудь сказать мне, почему.? Что я сделал не так? Почему он не использует локальный репозиторий в каталоге c:/java/maven_repo?

+0

Не могли бы вы пояснить, почему вы отредактировали глобальные settings.xml внутри установки Maven, а не определяете ее в 'USER_HOME/.m2'? То, что вы пытаетесь, не является типичным способом определения локального местоположения репо. – user944849

+0

Мы стандартизируем среду разработки каждого в команде с той же структурой папок и т. Д. Таким образом, у нас есть «настроенный» установочный zip-файл Maven, который все новые члены команды будут просто извлекать в папку c:/Java, и эта установка Maven имеет settings.xml, который предварительно настроен для нашей среды. Мы в основном хотим, чтобы все, что содержалось в одной структуре папок, не было разбросано в личных «пользовательских» папках и т. Д. – dleerob

ответ

0

Обычно я изменю локальную папку хранилища по умолчанию из умолчанию .m2 другой, более значимое имя, например, Maven-репо.


Найти {M2_HOME} \ конф \ setting.xml, обновление localRepository к чему-то еще.

<settings> 
     <!-- localRepository 
     | The path to the local repository maven will use to store artifacts. 
     | 
     | Default: ~/.m2/repository 
     <localRepository>/path/to/local/repo</localRepository> 
     --> 

    <localRepository>D:/maven_repo</localRepository> 


Done, новый Maven локальный репозиторий теперь изменяется на D:/maven_repo.

+0

Я сделал именно это, если вы прочитали исходный пост. – dleerob

+0

это сработало для меня, это из учебника MKYONGs – VedX

0

Единственный способ, которым мне удалось заставить это работать в Eclipse, - также установить файл настроек пользователя в Window -> Preferences -> Maven -> User Settings так же, как и глобальные настройки: C : \ Java \ апач-Maven-3.2.3 \ конф \ настройки.xml

Но я бы предположил, что если оставить это поле пустым, вы должны выполнить настройки из глобального settings.xml, но по какой-то причине это не так. Поэтому, если я оставляю поле настроек пользователя пустым, localRepositorty из global settings.xml не применяется.

Однако, если я запустил Maven вне затмения, он работает так, как ожидалось.