Я испытываю случайные сбои сборки maven при сборке на windows 7, это проблема windows? - PullRequest
1 голос
/ 08 февраля 2011

Я использую maven 2.2.1, jdk 1.6.0_23 (64 бит) на 64-битной Windows 7, широта dell (E6510).Хотя это и не воспроизводится, моя сборка (большой проект, 67 artifactIds) каждый день завершается с ошибкой, так как каталог не может быть удален.Я могу перейти на этот конкретный модуль и запустить очистку, и она работает.Я могу минимизировать эту проблему, запустив -fae (ошибка в конце).

Сбои не в том, что я смотрю на файлы в цели.

Ни один из других разработчиков в офисе не сталкивался с этой проблемой.Я единственный, кто работает на 64-битных Windows 7.

Я также изменил свой жесткий диск с 5400 оборотов в минуту до 7600 об / мин, но я все еще получаю сбой.

Я искал вокруг и сделалЯ не нашел ничего, что говорило бы о существующей проблеме с большими сборками проектов maven и windows 7. Наиболее близким, что я нашел, является старая ошибка maven 1 (http://jira.codehaus.org/browse/MAVEN-1733)

Мой следующий шаг - запустить linux на той же машине. IЯ установил на моей машине двойную загрузку либо на Windows 7, либо на Ubuntu, чтобы увидеть, получаю ли я ошибку при сборке на Ubuntu. Есть ли что-то еще, что я могу попробовать?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2011

Есть два вероятных объяснения; что-то в вашем коде небрежно с дескрипторами файлов, или вы столкнулись с проблемой 64-битной JVM, которая из-за блокировки файлов Windows более заметна, чем в других средах / виртуальных машинах.

Существует большой кластер ошибок, которые можно отследить, связав с / из MSHARED-148 , и это имеет последствия для множества плагинов ,

Эти проблемы могут / будут решены путем обновления всех ваших плагинов до последних версий, как можно найти здесь . Это было исправлено во всех основных плагинах maven (даже в тех, которые явно не ссылаются на вышеуказанную проблему), я не могу дать вам точный статус для плагинов codehaus. Вы также можете рассмотреть возможность перехода на последнюю версию Maven 3.0.X.

Общей чертой этих проблем является то, что они появляются гораздо чаще на 64-битной JVM из-за различия в архитектуре JIT (64-битные JVM в основном все еще используют «серверные» архитектуры). В больших многомодульных сборках ситуация ухудшается, поскольку JIT-компилятор обычно запускается дальше после нескольких вызовов кода плагина.

0 голосов
/ 08 февраля 2011

Это может быть связано с Windows, поскольку файлы, которые используются в данный момент, не могут быть удалены. Linux и другие Unices не имеют этой проблемы.

При этом это может проявиться из-за проблемы конфигурации или какого-либо стороннего плагина, который вызывает проблемы.

Я бы использовал следующий контрольный список:

  • Существуют ли сторонние плагины?
  • Существуют ли плагины, которых нет в последней версии?
  • Можете ли вы отладить и посмотреть, какие файлы нельзя удалить? Там может быть какая-то утилита Windows, которая может помочь с этим.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...