Как найти проблему, когда этап упаковки maven длится бесконечно?

#maven #deadlock #maven-shade-plugin

#maven #взаимоблокировка #maven-shade-plugin

Вопрос:

У меня есть довольно большой проект maven, который при компиляции (с использованием mvn package или mvn install ) застрял на этапе упаковки более чем на 10 часов:

 [INFO] Building jar: /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-javadoc.jar
[INFO] 
[INFO] --- maven-source-plugin:3.1.0:jar-no-fork (attach-sources) @ spookystuff-mldsl ---
[INFO] Building jar: /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-source-plugin:3.1.0:test-jar-no-fork (attach-sources) @ spookystuff-mldsl ---
[INFO] Building jar: /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-test-sources.jar
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:test-jar (default) @ spookystuff-mldsl ---
[INFO] Building jar: /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ spookystuff-mldsl ---
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT.jar to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT.jar
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/.flattened-pom.xml to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT.pom
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-javadoc.jar to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT-javadoc.jar
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-sources.jar to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT-sources.jar
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-test-sources.jar to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT-test-sources.jar
[INFO] Installing /home/peng/git-dev/scala-2.11/datapassports/spookystuff/mldsl/target/spookystuff-mldsl-0.6.2-SNAPSHOT-tests.jar to /home/peng/.m2/repository/com/tribbloids/spookystuff/spookystuff-mldsl/0.6.2-SNAPSHOT/spookystuff-mldsl-0.6.2-SNAPSHOT-tests.jar
(this is the last line of output)
  

Вывод сборки можно наблюдать на сервере CI с аналогичным выводом:

https://app.codeship.com/projects/166836/builds/48698210?pipeline=103aace8-047a-47e4-9cb9-018c3ce0693a

Я не знаю, что вызвало такое поведение, но я подозреваю, что ошибка в maven-shade-plugin привела к тому, что генерация pom с уменьшением зависимости переместилась в цикл на неопределенный срок. Как я могу подтвердить эту гипотезу, собрав достаточно доказательств, чтобы сообщить сопровождающим плагина?

Комментарии:

1. Немного странно заставлять кого-то создавать логин, чтобы помочь вам? Работает ли ваша сборка в обычной командной строке? Какая версия Maven / Java-версия и т.д. вы используете?