Одна из наиболее распространенных и неприятных проблем, с которыми я сталкиваюсь с Maven, - это процесс отказа/прохождения процесса сборки в зависимости от того, кто, когда и на какой машине выполняется этот процесс.Алгоритм устранения неполадок «Проблемы с Maven не работают для меня»
Более формально - в идеальном мире Я ожидаю, что процесс сборки будет повторяемым. Будучи программистом, я бы сказал, что я ожидаю, что процесс сборки будет похож на исходный код и ресурсы, входящие в состав сборки, и «среда» - я ожидаю, что он вернет тот же результат в любое время и в любом месте, где я «оцениваю» его, используя «фиксированная среда», и я ожидаю (скорее желаю), чтобы каждый в команде имел ту же «фиксированную среду».
В реальном мире либо «среда» изменяется со временем, либо варьируется между машинами-разработчиками, возможно, потому, что включает в себя некоторые зависимости, которые не ожидаются и не реализуются.
То, что я пытаюсь достичь, задает этот вопрос - найти/определить алгоритм/процедуру или контрольный список для устранения непонятных процессов сборки Maven. Предположим, что у нас есть две отдельные машины A и B с той же ОС и что мы строим на них точно такую же версию нашего приложения, но они дают разные результаты (например, один из них успешный, а один - неудачный). Где/как следует искать различия между этими двумя «средами».
Вот некоторые шаги, которые я обычно использую:
- сравнить эффективный РОМ, полученный с помощью
mvn help:effective-pom
- сравнить МВНА исполняемые версий + другие задействованные инструментов (например, JDK)
- сравнить параметры среды (полученный под Windows, используя команду командной строки
set
) - сравнение
settings.xml
файлы из домашних каталогов пользователей - comp являются сгенерированные с помощью пути к классам
mvn dependency:build-classpath
- удаления хранилища или даже оба хранилища
Любые идеи, что еще может дать ценную информацию? Может быть, есть лучший способ, которого я просто пропустил ...
Возможно, название вопроса должно быть «Maven не работает для меня», или вы действительно видите, что это проблема, которую Maven работает для людей?:) –
Ooops, я сделал опечатку в названии. Спасибо, что заметили это. – kopper