Maven: локальный или удаленный репозиторий - PullRequest
5 голосов
/ 05 января 2012

Вполне возможно, это уже задавали раньше (поэтому заранее извиняюсь, если был - я просто еще не нашел правильный вопрос!)

Я работаю над проектом с двумя репозиториями Maven: локальным (на моей машине) и внутренним (на центральном сервере). Существует немало проектов, которые можно использовать, и один родительский проект, который использует все из них. Когда мы закончим работу над конкретным проектом, мы установим его в центральном хранилище, чтобы все остальные могли его использовать.

Когда я собираю родительский проект для локального тестирования, я хотел бы использовать самые последние версии каждого проекта:

  • если кто-то обновил проект в центральном хранилище, я бы хотел использовать этот
  • если я изменил проект локально и установил его в свой локальный репозиторий, я бы хотел, чтобы он переопределил централизованный.

То, что я вижу, это сборка, полностью игнорирующая мой локальный репозиторий и просто извлекающая все из внутреннего. Я пропустил настройку где-то очевидное? Или это просто так работает?

Ответы [ 2 ]

2 голосов
/ 09 января 2012

mvn -o переведет вас в автономный режим, поэтому ничего не загружается.

Или в вашем файле settings.xml установите политику обновления не всегда для моментальных снимков или выпусков. См. Здесь и соответствующий раздел ниже

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...
  <profiles>
    <profile>
      ...
      <repositories>
        <repository>
          <id>codehausSnapshots</id>
          <name>Codehaus Snapshots</name>
          <releases>
            <enabled>false</enabled>
            <updatePolicy>always</updatePolicy> 
            <checksumPolicy>warn</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
            <checksumPolicy>fail</checksumPolicy>
          </snapshots>
          <url>http://snapshots.maven.codehaus.org/maven2</url>
          <layout>default</layout>
        </repository>
      </repositories>
      <pluginRepositories>
        ...
      </pluginRepositories>
      ...
    </profile>
  </profiles>
  ...
</settings>
1 голос
/ 05 января 2012

Вы должны убедиться, что используете версию -SNAPSHOT.Затем он будет сравнивать локальный и удаленный и использовать все, что является новейшим.

Конечно, вам нужно правильно настроить его в файле settings.xml (может быть, вы должны показать нам это ..)

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