Доступ к локальному репозиторию в автономном режиме - PullRequest
2 голосов
/ 06 марта 2012

Мне нужно разрешить Maven доступ к локальному репозиторию (file: //), когда он запускается в автономном режиме (в основном я пытаюсь настроить иерархию репозитория, чтобы он не помещал артефакты там, где они мне не нужны).

Это не работает "из коробки", хотя я всегда предполагал, что этот сценарий поддерживается. Есть ли какой-нибудь флаг для включения конкретного хранилища в автономном режиме?

Ответы [ 3 ]

4 голосов
/ 09 апреля 2017

Только для среды разработки. Если вы используете IntelliJ IDEA, вы можете настроить Maven для работы в автономном режиме следующим образом:

Preferences... > Search for Maven > Work offline (checked)
1 голос
/ 06 марта 2012

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

<repository>
        <id>central</id>
        <name>My Central</name>
        <layout>default</layout>
        <url>${my_url}</url>
    </repository>

Сделайте то же самое для снимка, хранилища плагинов и т. Д. Конфигурация, которую вы можете использовать в качестве профиля - она ​​будет необязательной.См. ingyhere ответ.

1 голос
/ 06 марта 2012

Можно настроить профили для репозиториев, использующих локальную файловую систему , а не сетевой адрес.

<repository>
   <id>mymaven</id>
   <url>file://D:\mylocalrepo</url>
</repository>

Согласно документации, также возможно ссылаться на автономный режим в значении свойства .

${settings.offline}

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

  <profiles>
    <profile>
      <id>myNeededProfile</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        ...
        <property>
          <name>offline</name>
          <value>true</value>
        </property>
        ...
      </activation>
      ...
    </profile>
  </profiles>

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

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

mvn groupId:artifactId:goal -o -P profile-1,profile-2

Или, что еще проще, благодаря наличию двух отдельных файлов настроек и их замене специально для автономных / онлайн-операций.Вы можете написать оболочку командной строки в любой среде ОС, которую вы используете для обнаружения автономного запроса, затем переместить и переименовать файлы перед выполнением команд Maven, а затем переместить их обратно после завершения.

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