Дженкинс строит не соблюдающие сторонние репозитории? - PullRequest
3 голосов
/ 09 декабря 2011

Я размещаю ojdbc14.jar в своем сетевом экземпляре Nexus, но, похоже, проходят только локальные сборки.

У меня есть это в моем пом:

  <repositories>
    <repository>
        <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
            <checksumPolicy>warn</checksumPolicy>
        </releases>
        <id>thirdparty</id>
        <url>http://server/nexus/content/repositories/thirdparty</url>
    </repository>
  </repositories>

После завершения удаления ~ / .m2 / локальный mvn package найдет ojdbc14.jar на нексусе. Мой Дженкинс, наоборот, последовательно терпит неудачу на этом:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.csodehaus.mojo:sql-maven-plugin:1.3:execute (sql-ddl) on project mongo-dbunit: Execution 
sql-ddl of goal org.codehaus.mojo:sql-maven-plugin:1.3:execute failed: Plugin 
org.codehaus.mojo:sql-maven-plugin:1.3 or one of its dependencies could not be resolved: Could not find artifact com.oracle:ojdbc14:jar:10.2.0.4.0 in central 

Почему?

(http://repo1.maven.org/maven2)

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

Прежде чем что-либо делать, установите Config File Provider Plugin

Затем

  1. Перейдите на корневую страницу Jenkins
  2. Выберите «Управление Jenkins»
  3. Выберите «Файлы конфигурации»
  4. Выберите тип «Maven settings.xml file»
  5. Назовите его «custom-maven-settings» и вырежьте и вставьте содержимое ваших ~ / .m2 / settings.XML-файл

Теперь вернемся к вашей работе в Maven2 / 3.

  1. В разделе Build нажмите кнопку Advanced
  2. В Maven Settings Configs в раскрывающемся списке выберите custom-maven-settings

Эта установка работает с нашим пользовательским репозиторием.

1 голос
/ 09 декабря 2011

В вашем POM есть раздел <repositories>, но нет <pluginRepositories>. Раньше Maven был гораздо более небрежным в отношении различий между зависимостями артефактов во время компиляции и зависимостями плагинов, но в более новых версиях Maven они совершенно разные.

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

Вот некоторая документация по POM , которая может или не может быть полезной.

0 голосов
/ 09 декабря 2011

Я бы проверил и убедился, что настройки Maven одинаковы на обеих машинах.

По умолчанию Jenkins использует файл в $ HOME / .m2 / settings.xml .Для задания Дженкинса также возможно переопределить это значение по умолчанию.

...