2017-02-23 56 views
2

Я хотел бы точно понять поведение функции моментальных снимков в maven, если ваши локальные и удаленные снимки отличаются. Например, скажем, у меня был проект A, а проект B был B зависит от A, и я меняю как A, так и B локально. Но и другие разработчики меняют B и развертывают проект в репозитории, где размещаются артефакты.моментальные снимки политики обновлений Maven в отношении локальных и удаленных снимков

Как я могу гарантировать, что если я изменяю B локально, то проект A будет использовать локальный B, а не удаленный B, даже если мой местный B старше удаленного B? Поэтому в основном я хочу обеспечить, чтобы, если я сделал какие-либо локальные изменения в проекте зависимостей, мне нужны проекты, у которых модифицированный проект зависит от использования локальной модифицированной версии, а не от удаленной версии.

Как я могу это сделать? Есть ли updatePolicy, который делает это?

ответ

1

При создании снимков Maven будет сравнивать временную метку локального POM с пультом дистанционного управления.

Вы можете управлять с помощью updatePolicy со значением никогда, Maven никогда не будет пытаться получить другую версию. Он будет делать это, только если она не существует локально

Вы должны установить его в мавена Settings.xml следующим

<repositories> 
     <repository> 
      <id>exampleSnapshots</id> 
      <name>example Snapshots</name> 
      <url>http://example.org/maven2</url> 
      <layout>default</layout> 
      <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>never</updatePolicy> 
       ...... 
      </snapshots> 
     </repository> 
     </repositories> 

другие варианты являются always, daily (по умолчанию), interval:X (где X представляет собой целое число в минутах).

Найти больше информации в maven Documentation

+0

Но есть способ, что если я не обновил свою локальную версию, что он будет получать удаленную версию для этого случая? Я хочу, чтобы, если я изменил проект локально, я получу локальную версию, если не хочу самую обновленную удаленную версию. – Snickers3192

+0

Проверка обновления Maven будет выполняться на основе временной отметки POM, когда вы создаете локально (даже с локальными изменениями), она обновляет временную метку POM, поэтому она рассмотрит ее как последнюю – ravthiru

 Смежные вопросы

  • Нет связанных вопросов^_^