как запретить maven проверять зарубежные репозитории? - PullRequest
6 голосов
/ 03 сентября 2010

Когда я строю с использованием maven, я вижу, что он проверяет все виды внешних репозиториев на наличие артефактов, которые должны генерировать только мои локальные сборки. Как я могу сказать, что группу com.myorg можно найти только в локальном хранилище? В основном я хочу сделать то, что m2eclipse делает с разрешением рабочей области, но в командной строке.

[INFO] snapshot com.myorg:core:0.0.1-SNAPSHOT: checking for updates from sun-jms
[INFO] snapshot com.myorg:core:0.0.1-SNAPSHOT: checking for updates from hibernate
[INFO] snapshot com.myorg:util:0.0.1-SNAPSHOT: checking for updates from sun-jms
[INFO] snapshot com.myorg:util:0.0.1-SNAPSHOT: checking for updates from hibernate
...

Справочная информация: У меня есть иерархический Maven проект (один уровень). Я хочу сделать полную сборку, поэтому я иду наверх и делаю mvn clean install.

  • com.myorg (родитель)
    • pom.xml
    • com.myorg.core
      • pom.xml
    • com.myorg.util
      • pom.xml

Ответы [ 3 ]

9 голосов
/ 03 сентября 2010

Вы можете попробовать передать параметр "-o" в Maven.-o активирует «Автономный режим», в котором Maven не запрашивает удаленные репозитории для проверки наличия обновлений или новых артефактов.

Не думаю, что вы можете указать это для каждой зависимости.

7 голосов
/ 03 сентября 2010

Если используемые вами удаленные репозитории выпускают репозитории и на самом деле не содержат SNAPSHOT, они могут отключить для них SNAPSHOT, и Maven не будет проверять их на наличие обновлений SNAPSHOT.Например:

<repositories>
  <repository>
    <id>java.net</id>
    <url>http://download.java.net/maven/2</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
  ...
</repositories> 
1 голос
/ 03 сентября 2010

По умолчанию maven сначала проверяет зависимости в вашем локальном репозитории, затем на внешних репозиториях. Единственный случай, когда Maven проверяет внешние репозитории, - это использование снимков.

Если вы используете снимки, вы можете использовать разметку <updatePolicy>, чтобы изменить время проверки внешнего хранилища.

Если вы хотите работать в автономном режиме, вы можете либо установить временную автономную опцию в своей команде mvn с помощью опции -o, либо вы можете установить ее в вашем ~ ~ .m2 / settings.xml с помощью <offline>true</offline>.


Прежде чем сделать это, не забудьте использовать mojo dependecy:go-offline, чтобы загрузить свою зависимость один раз, прежде чем действительно активировать автономный режим.


Ресурсы:

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