Просто смотрел Buildpath
и Classpath
для моего Java
проекта в Eclipse
. Я заметил, что все банки, включенные в путь сборки проекта, автоматически включаются в его путь к классам.В каком сценарии classpath проекта java будет отличаться от его пути Buildpath?
Имеет смысл, почему Eclipse делает это. Я имею в виду, если мне нужно создать экземпляр внешнего класса в моем коде, тогда мне нужны эти классы по пути buildpath для компиляции кода. И во время выполнения мне нужны те же классы, которые загружаются в jvm.
Похоже, что все классы, включенные в путь сборки, необходимы в пути к классам. Хотя я не могу придумать случай, когда путь к классу проекта будет отличаться от пути построения.
Является ли вышеуказанное понимание точным? Не могли бы вы дать мне сценарий, в котором classpath будет иметь дополнительные классы, чем классы в пути построения?
Предположим, вы зависите от библиотеки A для своего проекта, а A внутренне использует библиотеку B, которая внутренне использует библиотеку C. Вам нужны B и C для создания приложения? Нет. Вам нужно, чтобы они запускали его? Да, поскольку для нужд B и B требуется C. –