LINUX.ORG.RU

Нужно ли в Java отслеживать зависимости при компиляции?

 


0

2

Если я пишу Makefile для C, мне надо отслеживать файлы, от которых зависит каждый файл и перекомпилировать транзитивные зависимости. В gcc для генерации таких файлов с зависимостями целые флаги придумали.

Вопрос: если я пишу Makefile для Java, в каких случаях тупой подход с игнорированием зависимостей будет давать сбои?

Пока вижу только один кейс. Пример кода:

A.java:
class A {
  static void f(Object o) {}
}

B.java:
class B {{
  A.f("");
}}

Далее в класс A добавляем static void f(String s) {}. Пока не перекомпилируем B, он будет продолжать вызывать f(Object), после перекомпиляции начнёт вызывать f(String). Но это прямо скажем надуманный пример.

Есть ли более приближенные к реальности примеры, когда изменение в одном файле вызывает необходимость перекомпилировать другой файл?

★★★★

Есть ли более приближенные к реальности примеры, когда изменение в одном файле вызывает необходимость перекомпилировать другой файл?

Да.

anonymous
()

Используй maven или gradle и не занимайся ерундой

Begemoth ★★★★★
()

Вопрос: если я пишу Makefile для Java, в каких случаях тупой подход с игнорированием зависимостей будет давать сбои?

Будет и не надо так делать. Есть maven, gradle, ant (если любишь старьё).

vtVitus ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.