Могу ли я настроить проект Eclipse для восстановления после модификации jar? - PullRequest
0 голосов
/ 15 сентября 2011

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

В частности, я создаю jar из Eclipse, используя технику, приведенную в этого ответа , и храню его в каталоге вне моих проектов рабочей области.

Причина, по которой я использую jar в качестве зависимости вместо того, чтобы основной проект зависел от второго проекта напрямую, заключается в том, что основной проект находится на Java, а проект jar - на Scala. Я обнаружил, что сборка Scala идет очень медленно, поэтому я решил оставить проект закрытым и вручную собрать jar-файл из Eclipse всякий раз, когда я вносю изменения в проект Scala.

Является ли это отсутствие обнаружения "внешней модификации jar" ошибкой / ограничением Eclipse или есть способ включить это поведение?

Ответы [ 4 ]

1 голос
/ 15 сентября 2011

Возможно, проблема в том, что jar находится за пределами вашего рабочего пространства Eclipse, поэтому Eclipse не видит изменений. Вам нужно изменить местоположение jar и / или конфигурацию Java Build Path проекта, чтобы jar находился внутри Workspace.

Лучшая альтернатива - иметь источники для этого jar-файла в качестве другого проекта Eclipse и использовать этот другой проект в качестве зависимости, так что вам не придется перестраивать jar-файл для каждого изменения.

0 голосов
/ 05 января 2013

Я бы предложил использовать инструмент сборки, например, Maven, который будет управлять такими зависимостями. Eclipse поддерживает создание проектов Maven.

0 голосов
/ 05 января 2013

Если я что-то не упустил полностью, вы можете просто щелкнуть правой кнопкой мыши файл JAR в вашем проекте, а затем нажать «Обновить». Он работает в Eclipse Juno как минимум.

0 голосов
/ 15 сентября 2011

Я думаю, что это скорее вещь рабочего процесса. Затмение, сканирующее все зависимости в любое время на предмет изменений, вероятно, будет довольно тяжелым.

Если вы не используете eclipse для создания какой-либо части вашего проекта, то было бы разумно, чтобы при выполнении какого-либо действия по изменению его зависимостей вам приходилось обновлять ваш проект / рабочее пространство, чтобы затмение восприняло изменения. Я использую maven, поэтому для меня при сборке maven создает свой код, анализирует внешние зависимости и переписывает мои файлы .project и .classpath. Я обновляю свое рабочее пространство, и все обновляется.

Мое единственное другое предложение, если вы контролируете изменения этой зависимости, добавьте источник как проект для затмения и добавьте его как зависимость проекта в eclipse, а не зависимость jar.

...