2015-08-28 4 views
1

Я не знаю, будет ли это зависеть от забвения, поскольку я не могу предоставить много конкретной информации. Но в двух словах. У меня есть проект maven, который имеет зависимости от других проектов. Один из приходящих файлов, похоже, как-то работает на старый код. Когда де-прослушивание. Он останавливается на пустых строках и т. Д. Это похоже на то, что он кэшировал старый файл jar где-то или что-то в этом роде. Я попытался ...Решения для «синдрома старого кода»?

  • удаления содержимого моего .m2 хранилища папку
  • Удаление всех моих временных файлов и все, что может ссылающихся проект из моего каталога TOMCAT.
  • переиндексации локальный репозиторий
  • MVN чистую установку
  • МВН компилировать -pl сервис-модуль -am
  • МВН зависимость: продувка локального репозитария
  • МВН зависимость: продувка локального репозитария -DreResolve = ложная зависимость
  • МВН: очистка локального репозитария -DactTransitively = ложь -DreResolve = ложь
  • установки updatePolicy в settings.xml к «всегда»

Я был у него часами и не добился абсолютно никакого прогресса.

Кто-нибудь знает какие-либо другие решения этой проблемы?

+0

это случилось со мной несколько раз, как правило, удаление Мануалы все содержимое TOMCAT каталога, перезапуском затмение и обновление Maven проекта помогли решить проблему, на мой взгляд Willl быть хорошим если вы проверите, как его получить старый код, и проверьте, на каком этапе он не может предоставить новый – user902383

+0

, может быть, источник jar (если он существует?) не соответствует коду. Таким образом, удаление банка источников из вашего локального репо может помочь (и не перегружать его). Или файл класса доступен несколько раз в пути к классам? – wemu

ответ

2
  1. Проверьте переходную зависимость. Проверьте наличие неожиданных переопределений или другую упаковку одной и той же библиотеки (например, что-то вроде XX-all и XX-часть одновременно).

  2. Используйте IDE (которая понимает Maven), чтобы найти имя класса и посмотреть, как многие реализации найдены.

  3. Проверьте фактическую командную строку JVM, папку библиотеки JRE и папку библиотеки Tomcat для изгоев.

  4. Используйте this trick, чтобы узнать фактический путь, из которого класс загружается во время отладки. (Используйте отладчик объектов, как значения часов или окна выражения.)

+0

Решение № 4 работало. Я получал дубликаты пакетов через старую банку. Спасибо огромное! – Tom

Смежные вопросы