2009-12-02 6 views
7

Я использую Eclipse 3.5 для нескольких различных проектов Java/JSP. Весь код проекта хранится в Subversion. Я использую плагин Subclipse для обновления/фиксации кода. Это отлично работает для всех проектов, кроме одного. Существует один проект, в котором почти каждый раз, когда я выполняю обновление SVN, весь проект пронизан ошибками компиляции Java. Большинство ошибок являются жалобами на то, что он не может найти файлы других классов в одном проекте. Чтобы решить эту проблему, я должен перейти в Project> Clean и вручную очистить проект, который требуется немного времени для запуска. После этого все компилируется, но немного больно при необходимости вручную очищать проект каждый раз, когда я обновляю SVN. И это происходит только для одного проекта.Почему я должен регулярно очищать один конкретный проект в Eclipse?

Кто-нибудь испытывает что-то подобное? Я даже не уверен, где искать, чтобы выяснить, почему проект необходимо постоянно очищать вручную. Возможно ли, что кто-то еще проверяет файл, который разбивает мою сборку проекта в Eclipse? Если да, то какие файлы я должен искать?

+0

Вы на Mac, возможно? – bmargulies

+0

нет, я нахожусь в Windows XP – Shane

+0

Это может быть довольно много - проверьте все настройки вашего проекта (строители, грани, путь сборки и т. Д.) И сравните их с другими проектами. – Bozho

ответ

4

Во-первых, извините, если я скажу что-то очевидное, но вы не указали никаких подробностей о своей конфигурации проекта и не описали свои предыдущие попытки решить эту проблему. Так что, может быть, вы уже пробовали все, что я собираюсь предложить ... ;-)

В верхней части моего разума я бы проверил, комментирует ли кто-то компилируемые классы вместо источников.

Кроме этого, это зависит от вашей конфигурации: я предполагаю, что у вас установлен флажок «Создать автоматически», который вы создаете только через Eclipse (а не, например, через Ant, позволяя возможно, сборка Ant создала его выход где-то в вашем пути к классу), и что вы не управляете версиями банок, а также ваш файл .classpath.

Я предлагаю (если вы этого не делаете) выполнять обновления SVN, проходящие через представление Synchronize (Team -> Synchronize with Repository), чтобы сразу увидеть, какие входящие изменения у вас есть , чтобы лучше отличать случаи, когда ваш проект перепутался с случаями, когда этого не происходит.

+1

Оказалось, что скрипт Ant использует тот же путь сборки, что и Eclipse. Обычно я запускаю этот скрипт Ant в конце дня, поэтому я не заметил, что он наводил путь сборки Eclipse до тех пор, пока я не получил следующее утро и не попытался обновиться. – Shane

+1

Рад, что вы его нашли .. и я абсолютно сочувствую: на самом деле, за последние несколько лет я всегда менял путь построения по умолчанию для проектов Java в Eclipse от «bin» до «eclipse-build», только для уменьшить вероятность внешних скриптов с жестко закодированными путями, возиться с моей сборкой. Это просто быстрое путешествие в Window-> Preferences-> Java-> Build Path, и теперь я могу спать (немного) лучше .. – TataBlack

1

Кто-то уже объяснил, что, возможно, кто-то еще совершает скомпилированные классы, а пути класса получают конфликты. Кулак узнает эту информацию у ваших коллег и продолжайте. Я не сталкивался с такой ситуацией. Прости.

1

Как вы храните проект на SVN? Вы сохраняете весь проект Eclipse или только исходный код, структуру и т. Д.? Если вы не сохраняете весь проект, я бы предложил сделать это, так как это упростило работу (если у вас нет никого, кто использует другую среду IDE). Без дополнительной информации это затрудняет диагностику, но, безусловно, звучит так, будто кто-то совершает скомпилированные классовые пути. Вы должны проверить историю SVN для подтверждения.