Меня смущают эти два термина.
Также что мне делать, чтобы создать файл в папке src проекта Spring MVC? Когда я создаю с помощью объекта File, он создает файл внутри C: \ SpringSourceTool ... Я думаю, это ClassPath, верно?
Как мне получить applicationcontext
папку или корень приложения?
Путь к классам - это обычный способ указать (стандартному) компилятору Java и среде выполнения Java, где найти скомпилированные классы. Обычно это последовательность имен файлов JAR и имен каталогов. Путь к классам, используемый компилятором и системой времени выполнения, не обязательно должен совпадать , но обычно должен быть таким , особенно для небольшого проекта.
Путь к сборке не является стандартной терминологией Java. Это термин, обозначающий более богатый способ, которым типичная IDE определяет отношения между «проектами», составляющими приложение. IDE использует это, чтобы определить путь к классам и исходный код для компиляции кода Java, а также путь к классам для его запуска. IDE также использует путь сборки, чтобы выяснить, как упаковать ваш код и его зависимости в виде (например) файла WAR.
Например, путь сборки Eclipse для проекта включает другие проекты, от которых он зависит, и перечисляет все дополнительные библиотечные JAR-файлы, которые проект содержит / использует. В нем также перечислены пакеты текущего проекта, от которых могут зависеть последующие проекты.
(Если вы используете Maven для своего проекта, механизм пути сборки IDE является вторичным по отношению к зависимостям, объявленным в файлах POM. Например, при использовании Eclipse с m2eclipse путь сборки синтезируется из файлов POM.)
источник
Путь к классам используется во время выполнения для загрузки скомпилированных классов и ресурсов.
Путь сборки используется во время компиляции, чтобы найти зависимости, необходимые для сборки вашего проекта.
источник
.class
файлов (и других скомпилированных ресурсов), а путь сборки используется для поиска исходных файлов, которые необходимо скомпилировать?У каждого проекта Java есть собственный путь сборки, в котором указаны все зависимости, необходимые для компиляции проекта. Эти зависимости могут поступать из других проектов Java в рабочей области, из архивных файлов Java .jar или из папок, содержащих файлы .class.
В среде CLASSPATH вам нужно указать только файлы .class (т.е. jar, zip-файлы - внутри jar, zip-файлов вы найдете только java-классы), т.е. вы помогаете виртуальной машине Java (JVM) находить файлы классов Java
Здесь была запущена JVM, если вы хотите создать файл в другом месте, используйте относительный путь отсюда.
См. Это и это для получения дополнительной информации.
источник
Я хотел бы добавить к ответу Andreas_D, чтобы объяснить, что путь сборки требуется IDE / компилятору для поиска внешних пакетов и классов, используемых вашим кодом. Иногда мы называем это «зависимостями» .
NB: эти внешние пакеты могут быть упакованы внутри сжатого файла .jar или, действительно, может быть несколько файлов jar, упакованных внутри «библиотеки» . Библиотека или группа библиотек часто составляют «каркас» .
Если для вашего кода требуется код, написанный другими, вы можете импортировать их в свой класс с помощью
import
команды. Однако одной этой команды недостаточно, поскольку компилятор или IDE должны знать, где расположены эти классы. Вы указываете это в пути сборки .С
classpath
другой стороны, JVM, выполняющая ваше приложение, сообщает JVM, где найти какие-либо зависимости во время фактического выполнения вашего кода.Также обратите внимание: путь к классам предназначен для использования JVM.
Buildpath предназначен для использования IDE / компилятором и является средством создания пути к классам из вашей среды разработки. Когда вы настраиваете путь сборки через IDE, вы также настраиваете скрытый файл в своем проекте с именем .classpath. Это используется для предоставления пути к классам JVM при развертывании.
источник
Путь к классам ( из Википедии ):
Проще говоря, пока ваша программа работает, JVM загружает классы только по мере необходимости. Когда класс необходим, JVM будет зависеть от пути к классам, чтобы знать, откуда загрузить байт-код (например,
.class
файлы).С другой стороны, путь сборки обычно используется IDE, например Eclipse, чтобы знать, где искать дополнительные библиотеки, необходимые для компиляции исходного кода проекта. Путь сборки не используется во время выполнения.
источник