9 ответов:
при программировании на Java, вы делаете другие классы, доступные для класса, который вы пишете, поставив что-то вроде этого в верхней части исходного файла:
import org.javaguy.coolframework.MyClass;или иногда вы "массовый импорт" вещи, говоря:
import org.javaguy.coolframework.*;позже в вашей программе, Когда вы говорите:
MyClass mine = new MyClass();виртуальная машина Java будет знать, где искать скомпилированный класс.
было бы непрактично, чтобы виртуальная машина просматривала каждую папку на вашем компьютере. машина, поэтому вы должны предоставить виртуальной машине список мест для поиска. Это делается путем размещения папки и jar-файлы на пути к классу.
прежде чем мы поговорим о том, как установлен classpath, давайте поговорим .файлы классов, пакеты, И.файл jar.
во-первых, предположим, что MyClass-это то, что вы создали как часть своего проекта, и оно находится в каталоге вашего проекта под названием
output. Этот.файл класса будетoutput/org/javaguy/coolframework/MyClass.class(вместе с каждым другим файлом в этом пакете). В чтобы добраться до этого файла, ваш путь просто должен содержать папку "output", а не всю структуру пакета, поскольку ваш оператор импорта предоставляет всю эту информацию виртуальной машине.теперь предположим, что вы связываете CoolFramework в a .файл jar, и положите эту CoolFramework.jar в каталог lib в вашем проекте. Теперь вам нужно будет поставить
lib/CoolFramework.jarв вашем classpath. Виртуальная машина будет искать внутри файла jar дляorg/javaguy/coolframeworkчасть, и найти класс.Итак, пути к классам содержать:
- файлы JAR, и
- пути к вершине иерархии пакета.
как вы устанавливаете свой classpath?
первый способ, которым все, кажется, учатся, - это переменные среды. На машине unix вы можете сказать что-то вроде:
export CLASSPATH=/home/myaccount/myproject/lib/CoolFramework.jar:/home/myaccount/myproject/output/на машине с Windows вам нужно перейти к настройкам среды и либо добавить, либо изменить значение, которое уже есть.
второй способ-использовать
-cpпараметр при запуске Java, например:java -cp "/home/myaccount/myproject/lib/CoolFramework.jar:/home/myaccount/myproject/output/" MyMainClassвариант этого является третьим способом, который часто делается с
.shили.batфайл, который вычисляет путь к классу и передает его на Java через
подумайте об этом как о ответе Java на переменную среды PATH - Осы ищут EXEs на пути, Java ищет классы и пакеты на пути к классам.
Как и вопрос Спрингстина-эска.
classpath-это путь, по которому виртуальная машина Java ищет пользовательские классы, пакеты и ресурсы в программах Java.
в этой связи
format()метод загрузить файл шаблона из этого пути.
путь к классам в этом контексте точно такой же, как и в общем контексте: везде, где виртуальная машина знает, что она может найти классы для загрузки, а также ресурсы (например, выход.ВМ в вашем случае).
Я бы понял, что скорость ожидает найти файл с именем output.vm в любом месте "без пакета". Это может быть баночка, обычная папка ... Корень любого из расположений в пути к классам приложения.
classpath-это переменная окружения системы. Значение этой переменной используется для предоставления корня любой Иерархии пакетов компилятору java.
установка системной переменной CLASSPATH
чтобы отобразить текущую переменную CLASSPATH, используйте эти команды в Windows и UNIX (Bourne shell): В Windows:
C:\> set CLASSPATHВ UNIX:% echo $CLASSPATHчтобы удалить текущее содержимое переменной CLASSPATH, используйте следующие команды: В Windows:
C:\> set CLASSPATH=В UNIX:% unset CLASSPATH; export CLASSPATHчтобы задать переменную CLASSPATH, используйте следующие команды (например): В Windows:
C:\> set CLASSPATH=C:\users\george\java\classesВ UNIX:% CLASSPATH=/home/george/java/classes; export CLASSPATH
CLASSPATH-это переменная среды (т. е. глобальные переменные операционной системы, доступные для всех процессов), необходимая компилятору Java и среде выполнения для поиска пакетов Java, используемых в программе Java. (Почему бы не позвонить PACKAGEPATH?) Это похоже на другой путь переменной среды, который используется оболочкой CMD для поиска исполняемых программ.
путь к классу можно задать одним из следующих способов:
CLASSPATH can be set permanently in the environment: In Windows, choose control panel ⇒ System ⇒ Advanced ⇒ Environment Variables ⇒ choose "System Variables" (for all the users) or "User Variables" (only the currently login user) ⇒ choose "Edit" (if CLASSPATH already exists) or "New" ⇒ Enter "CLASSPATH" as the variable name ⇒ Enter the required directories and JAR files (separated by semicolons) as the value (e.g., ".;c:\javaproject\classes;d:\tomcat\lib\servlet-api.jar"). Take note that you need to include the current working directory (denoted by '.') in the CLASSPATH. To check the current setting of the CLASSPATH, issue the following command: > SET CLASSPATH CLASSPATH can be set temporarily for that particular CMD shell session by issuing the following command: > SET CLASSPATH=.;c:\javaproject\classes;d:\tomcat\lib\servlet-api.jar Instead of using the CLASSPATH environment variable, you can also use the command-line option -classpath or -cp of the javac and java commands, for example, > java –classpath c:\javaproject\classes com.abc.project1.subproject2.MyClass3
статический член класса может быть вызван напрямую, без создания экземпляра объекта. Поскольку основным методом является статическая виртуальная машина Java, ее можно вызвать без создания какого-либо экземпляра класса, содержащего основной метод, который является начальной точкой программы.
classpath и path являются переменными evironment . обычно вы должны поместить JDK / bin в путь , чтобы u мог использовать компилятор java везде, classpath-это путь вашего .файл класса. путь к классам имеет путь по умолчанию точка(.), что означает текущий каталог. но когда вы использовали пакеты . u будет либо указать полный путь .класс файл или поставить .путь к файлу класса в classpath, который сохранит много работ !
Comments