Не загружаемые проекты Netbeans (pom недоступен в локальном репозитории)


У меня есть проект Maven, который всегда отлично работал в Netbeans, но обновление с 6.9 до 7.1 не прошло хорошо. Я получаю следующую ошибку:

1 проблема возникла при построении эффективной модели для foo.бар: баз: 1.0.0 [Фатальный] неразрешимый Родительский POM: система репозитория отключена, но артефакт foo: bar-parent:pom: 1.0.1 недоступен в локальном репозитории. и родителей.relativePath ' указывает на неправильный локальный POM @ строка 12, столбец 13 для реализации проекта foo.bar: baz: 1.0.0 at / Users / me / workspace/pom.xml

Я нашел этот билет ошибки для Netbeans, который довольно хорошо описывает проблему для другого парня, но предложение использовать "Reload POM" не работает, как и mvn validate.

Здесь есть несколько запутанных пунктов.

  • работает в командной строке.
  • мой коллега, с идентичной (по всем признакам) настройкой, запускает этот проект на NB 7.1.
  • построение внутри Netbeans works (the build преуспевает)
  • С помощью предоставленной кнопки "Prime Build" в диалоговом окне ошибки запускается сборка, которая завершается успешно.
  • файл не отсутствует! Он есть (и был) в местном РЕПО! Именно там, где я этого и ожидал: .m2 / repository/foo / bar-parent / 1.0.1 / bar-parent-1.0.1.pom

Согласно страницеMaven POM intro , атрибут relativePath должен использоваться, когда у вас есть родительский pom/проект, расположенный в отличном от нормального месте (где "нормальный"-это "../ПФЛ.XML").

В моем случае мой родительский проект на самом деле просто pom, и он нигде не живет, кроме как в репозитории (локально и удаленно). Даже если бы он не существовал локально, я ожидал бы, что вторичная" онлайновая " сборка (как предлагалось) исправит Netbeans, но это не так.

В какой-то момент я вручную изменил свой POM-файл за пределами Netbeans, и проект внутри NB исправился. Я вручную изменил подпроекты таким же образом, чтобы заставить их работать, но исправление долго это не продлилось. Через несколько минут прозвище" не загружаемый " вернулось, хотя я не знаю точно, когда и что заставило его вернуться.

Я пробовал использовать встроенный v3. 0. 3 Maven, мой внешний v3. 0. 2 Maven, удаляя мои папки ~/.netbeans*, удаляя мою папку .m2/repository, копируя его .m2/repository на моей машине, удаление всех версий Netbeans и переустановка 7.1, закрытие и повторное открытие проектов и приложения, позволяя Netbeans построить проект с нуля, используя как обычные Build, Clean and Build параметры, а также параметр Prime Build в диалоговом окне ошибки, выполнение сборки с нуля в командной строке затем импорт в Netbeans, любые и все их комбинации, и ничто, кажется, не имеет значения.

На данный момент я понижаюсь до 6.9.1, но я хотел бы знать, есть ли что-то еще, что я могу попытаться сделать, чтобы это сработало.

4 3

4 ответа:

Обновление: я установил свои настройки.xml тоже... : (

<mirrors>
  <mirror>
    <id>javaforum</id>
    <url>http://nexus.javaforum.hu/nexus/content/groups/public/</url>
    <mirrorOf>*</mirrorOf>
  </mirror>
</mirrors>
<profiles>
  <profile>
    <id>default</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
      <repository>
        <id>javaforum</id>
        <url>http://nexus.javaforum.hu/nexus/content/groups/public/</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </repository>
    </repositories>
  </profile>
</profiles>

Теперь он работает с NetBeans 7.x.

Если я удалю / прокомментирую раздел "репозиторий":

* CLI (3.0.3) build is working
* NetBeans 7.x build is working but the project is "unloadable"

Если я удалю / прокомментирую раздел "зеркало":

* CLI (3.0-3) build isn't working
* NetBeans 7.x build is working, the project looks like good

Итак, пом.модификация xml не нужна ИМХО... :)

Каков заголовок вашего пом.в XML? Я изменил его на этот:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

Из

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

Знаток командной строки строит их обоих, в NetBeans 6.Икс тоже... но NetBeans 7.x строит только первый.

Мне пришлось скопировать pom.xml-файл из моего РЕПО на один уровень каталога выше pom моего проекта.xml и переименование в pom.XML. Не идеально, но сработало.

Я видел описанную ошибку при запуске NetBeans 7.1.x после попытки очистить мой внутренний репозиторий (Archiva, используя группы РЕПО), упростите Мои настройки.xml и затем добавление родительского POM в мой проект.

Если я удалю родительскую ссылку POM в своем проекте, проблема исчезнет.

Если я включаю активный профиль в свои настройки.xml с допустимым разделом репозитория, проблема уходит.

Если я включаю допустимый раздел репозиториев в свой проект POM, проблема будет решена прочь.

Мой родительский POM не является корнем многомодульного проекта. Он просто извлекается из хранилища, как и любая другая зависимость. У меня нет многомодульного проекта с родителем, с которым я мог бы попробовать.

Несмотря на это, maven отлично строит и развертывает мои проекты из командной строки без этой настройки (даже с родительским POM), но NetBeans, похоже, сам нуждается в разделе репозиториев, определенном где-то.

Мне кажется, что это ошибка с тем, как Netbeans обращается с ребенком проекты. Я предполагаю, что он ищет в расположении по умолчанию расположение для родителя (../ПФЛ.xml) и когда он не может найти его, пытается искать его в определенных репозиториях. Поскольку он не определен, он задыхается.

Netbeans, похоже, игнорирует настройку зеркал при попытке найти Родительский POM.