2012-02-09 1 views
2

У меня есть простая иерархия несколько проектов:Дженкинс: Non-разрешимы родитель POM:

root/ 
    pom.xml 
    project-a 
    pom.xml 
    subproject-a.1 
     pom.xml 
    subproject-a.2 
     pom.xml 
    project-b 
    pom.xml 
    subproject-b.1 
     pom.xml 
    subproject-b.2 
     pom.xml 

Если я построить проект (скажем, подпроект-б1) из командной строки, проект будет строить найти. Однако, из Jenkins, тот же проект потерпит неудачу с:

[FATAL] Non-resolvable parent POM: Could not find artifact com.foo.bob:project-b:pom:1 in releases (http://xxxx.foo.com:9080/libs-release) and 'parent.relativePath' points at wrong local POM @ line 7, column 13 

Ни корня, ни проекта, а/проект-б модулей, только подпроектов. Я смотрю на: Hudson build fail: Non-resolvable parent POM и убедились, что relativePath моего родителя устанавливается в:

<relativePath>../pom.xml</relativePath> 

Мысли о том, что мне нужно, чтобы добавить к моей pom.xml для того, чтобы Maven хорошо играть с Дженкинс?

+0

У вас есть , установленный для ваших дочерних проектов в родительском pom.xml – JScoobyCed

+0

На каком этапе это произошло? Возможно ли, что это не сборка подпроекта-b1, но сборка его родителя не удалась? Мне интересно, если при попытке разрешить родительский относительныйPath из местоположения subproject-b1 корневой проект на самом деле будет ../../pom.xml (внутри проекта-b/pom.xml) – JScoobyCed

+0

Что касается первого вопроса, Да. Корень pom.xml выглядит следующим образом: « проект-а проект-б» и в одном из родительского pom.xm, это: « подпроект-а.1 подпроект-а. 2 '. Он не работает в дочернем проекте, проекты верхнего уровня не являются работоспособными, у меня есть родительские файлы pom.xml для хранения общего материала. Что касается вашего второго вопроса, он не работает в файлах child/subproject. В файлах child/subproject относительный путь устанавливается следующим ближайшим pom.xml. –

ответ

0

У меня была такая же проблема - Windows 10 - после установки Jenkins на моей коробке. У меня даже была отдельная работа только для того, чтобы построить родительскую помету и вставить ее в мой локальный репозиторий maven (или так я думал). Оказывается, моя служба jenkins была настроена на использование локальной системной учетной записи, которая толкала артефакты на репо в моей системной папке, а не обычное локальное репозиционирование maven в user.m2 \ repository.

Чтобы исправить:

  • перейти в Панель управления -> Администрирование -> Услуги
  • правой кнопкой мыши службу Jenkins и выберите Свойства
  • на бревне На вкладке выберите «Эта учетная запись» и введите имя пользователя и пароль , который обычно используется для входа в ваш ящик
  • нажмите кнопку ОК и перезапустите службу Jenkins
Смежные вопросы