библиотека компиляции и выполнения Java - PullRequest
1 голос
/ 04 февраля 2011

Я новичок в Java, я потратил часы на эту проблему. Я буду очень благодарен за всех, кто может мне помочь.

Вот проблема.

  1. Мой проект, скажем ProjectA, нужен куча библиотек для компиляции, но я не думаю, что мне нужна библиотека под названием LibraryB.jar. Итак, проект правильно скомпилирован без LibraryB в пути к классам.
  2. Во время выполнения программа вышла без каких-либо сообщений об ошибках. Я не знаю причину пока не поставлю LibraryB.jar в classpath, когда я бегу мой проект

Может кто-нибудь сказать мне, почему это происходит? Как я знаю, в Java, если бы я ссылался на LibraryB.jar, он был бы необходим во время компиляции и компоновки. Может быть, я ошибаюсь.

1 Ответ

1 голос
/ 04 февраля 2011

Не имея конкретных примеров, я могу дать вам только общий обзор:

Если ваш проект использует LibraryA, которая зависит от LibraryB, но на самом деле не предоставляет какой-либо из классов LibraryB в своих интерфейсах (т.е. он использует толькоэто внутренне), тогда вы легко можете столкнуться с ситуацией, когда вам нужна только библиотека A для компиляции, но нужна библиотека B для фактического запуска вашего кода.

Если ваше приложение завершается без сообщения об ошибке, то это ваша собственная ошибка,чаще да, чем нет.Специально для новичков в Java распространенная причина этого - пустые catch -блоки (, не делайте этого! ):

try {
  someCodeThatCanThrowAndException();
} catch (Exception e) 7
  // nothing
}
...