В чем разница между путём класса и путём сборки

Я смущен этими двумя терминами.

И что мне делать, чтобы создать файл в папке src проекта Spring MVC? Когда я создаю с использованием объекта File, он создает файл внутри C:\SpringSourceTool... Я думаю, что это ClassPath правильно?

Как я могу получить applicationcontext папку или корень приложения?

Ответ 1

путь сборки используется для создания вашего приложения. Он содержит все исходные файлы и все библиотеки Java, необходимые для компиляции приложения.

Для выполнения приложения используется classpath. Сюда входят все классы и библиотеки java, необходимые для запуска Java-приложения. Путь к классу является обязательным, путь по умолчанию ., который используется, если виртуальная машина Java не может найти определенный пользователем путь. (CLASSPATH переменная среды, флаг -cp или атрибут Class-Path: в манифесте jar)

Ответ 2

Путь к классам - это обычный способ сообщить (стандартному) компилятору Java и среде выполнения Java, где искать скомпилированные классы. Обычно это последовательность имен файлов JAR и имен каталогов. Путь к классам, используемый компилятором и системой времени исполнения, не обязательно должен быть одинаковым, но обычно он должен быть, особенно для небольшого проекта.

Buildpath не является стандартной терминологией Java. Это термин для более богатого способа, которым типичная среда IDE определяет отношения между "проектами", составляющими приложение. Среда IDE использует это для определения пути к классу и пути к исходному коду для компиляции кода Java и пути к классу для его запуска. В среде IDE также используется путь сборки, чтобы выяснить, как упаковать код и его зависимости в виде (например) файла WAR.

Например, путь сборки Eclipse для проекта включает в себя другие проекты, от которых он зависит, и перечисляет любые дополнительные библиотеки JAR, которые содержит/полагается проект. В нем также перечислены пакеты в текущем проекте, от которых могут зависеть последующие проекты.

(Если вы используете Maven для своего проекта, механизм IDE buildpath является вторичным по отношению к зависимостям, объявленным в файлах POM. Например, при использовании Eclipse с m2eclipse, buildpath синтезируется из файлов POM.)

Ответ 3

Путь класса используется во время выполнения для загрузки скомпилированных классов и ресурсов.

Путь сборки используется во время компиляции, чтобы найти зависимости, необходимые для создания вашего проекта.

Ответ 4

Каждый проект Java имеет свой собственный путь сборки, который определяет все зависимости, необходимые для компиляции проекта. Эти зависимости могут быть получены из других Java-проектов в рабочей области, из файлов архива Java.jar или из папок, содержащих файлы .class.

В среде CLASSPATH вам нужно указать только файлы .class(т.е. jar, zip файлы - внутри jar, zip файлы вы найдете только классы java), то есть вы помогаете Java Virtual Machine (JVM) найти файлы классов Java

И что мне делать, чтобы создать файл в папке src Spring MVC Проект? Когда я создаю с помощью файла объект создает файл внутри C:\SpringSourceTool...

Здесь была запущена JVM, если вы хотите создать файл else где, используйте относительный путь отсюда.

Смотрите this и этот для получения дополнительной информации.

Ответ 5

Я хотел бы добавить к ответу Andreas_D, чтобы объяснить, что IDE/компилятор требует путь сборки для определения местоположения внешних пакетов и классов, используемых вашим кодом. Мы иногда называем их "зависимостями".

NB. Эти внешние пакеты могут быть упакованы в сжатый файл .jar или, действительно, в "библиотеке" может быть несколько файлов jar. Библиотека или группа библиотек часто составляют "основу".

Если для вашего кода требуется код, написанный другими, вы можете импортировать их в свой класс с помощью команды import. Однако этой команды недостаточно, поскольку компилятор или IDE должны знать, где находятся эти классы. Вы указываете это в пути сборки.

Путь к classpath с другой стороны, сообщает JVM, в которой выполняется ваше приложение, где найти какие-либо зависимости во время фактического выполнения вашего кода.

Также обратите внимание: Classpath предназначен для использования JVM.

Buildpath предназначен для использования IDE/компилятором и является средством для создания classpath из вашей среды разработки. Когда вы настраиваете свой путь компоновки через IDE, вы также настраиваете скрытый файл в своем проекте с именем .classpath. Это используется для предоставления пути к классам JVM при развертывании.

Ответ 6

build path используется IDE во время компиляции для сборки проекта

Environment variable - это глобальная системная переменная, доступная всем процессам, работающим в операционной системе (ОС).

PATH и CLASSPATH являются environment variables

PATH: поддерживает список каталогов. ОС ищет записи PATH для исполняемых программ, таких как Java Compiler (javac) и Java Runtime (java).

CLASSPATH: поддерживать список каталогов (содержащих много файлов классов Java .class) и файл JAR (однофайловый архив классов Java .jar). Компилятор Java и среда выполнения Java ищут в записях CLASSPATH классы Java, на которые есть ссылки в вашей программе.

Путь поиска пользовательских классов (короче, CLASSPATH): определяется в следующем порядке:

  1. По умолчанию используется current working directory (.).
  2. Записи в environment variable classpath, которая переопределяет значение по умолчанию.
  3. Записи в параметре -cp (или -classpath), который переопределяет переменную окружения classpath.
  4. Опция командной строки времени выполнения -jar, которая отменяет все вышеперечисленное.

Узнайте больше здесь