logo

Як встановити CLASSPATH в Java

CLASSPATH: CLASSPATH — це змінна середовища, яка використовується програмою Application ClassLoader для пошуку та завантаження файлів .class. CLASSPATH визначає шлях для пошуку сторонніх і визначених користувачем класів, які не є розширеннями або частиною платформи Java. Включайте всі каталоги, які містять файли .class і файли JAR, коли встановлюєте CLASSPATH.

Вам потрібно встановити CLASSPATH, якщо:

винятки java
  • Вам потрібно завантажити клас, якого немає в поточному каталозі чи будь-яких підкаталогах.
  • Вам потрібно завантажити клас, який не знаходиться в місці, визначеному механізмом розширень.

CLASSPATH залежить від того, що ви встановлюєте CLASSPATH. CLASSPATH має назву каталогу або назву файлу в кінці. Наступні пункти описують, що має бути кінець CLASSPATH.

  • Якщо файл JAR або zip містить файли класів, шлях до класу закінчується назвою файлу zip або JAR.
  • Якщо файли класу розміщено в пакеті без назви, CLASSPATH закінчується каталогом, який містить файли класу.
  • Якщо файли класу розміщено в іменованому пакеті, CLASSPATH закінчується каталогом, який містить кореневий пакет у повній назві пакета, який є першим пакетом у повній назві пакета.

Стандартним значенням CLASSPATH є крапка (.). Це означає єдиний поточний каталог, у якому здійснюється пошук. Значення за замовчуванням CLASSPATH замінює, коли ви встановлюєте змінну CLASSPATH або використовуєте команду -classpath (скорочено -cp). Поставте крапку (.) у новому параметрі, якщо ви хочете включити поточний каталог до шляху пошуку.

Якщо CLASSPATH знайде файл класу, який присутній у поточному каталозі, він завантажить клас і використає його, незалежно від того самого класу імені, представленого в іншому каталозі, який також включено до CLASSPATH.

Якщо ви бажаєте встановити кілька шляхів до класів, вам потрібно відокремити кожен шлях до класів крапкою з комою (;).

Програми сторонніх виробників (MySQL і Oracle), які використовують JVM, можуть змінювати змінну середовища CLASSPATH, щоб включити бібліотеки, які вони використовують. Класи можуть зберігатися в каталогах або архівних файлах. Класи платформи Java зберігаються в rt.jar.

Існує два способи встановлення CLASSPATH: через командний рядок або встановлення змінної середовища.

Давайте подивимося, як встановити CLASSPATH бази даних MySQL:

коли вийшла windows 7

Крок 1: Натисніть кнопку Windows і виберіть Панель керування. Виберіть Система.

Як встановити CLASSPATH в Java

Крок 2: Натисніть на Розширені параметри системи .

Як встановити CLASSPATH в Java

крок 3: Відкриється діалогове вікно. Натисніть Змінні середовища.

Як встановити CLASSPATH в Java

крок 4: Якщо шлях до класів уже існує в системних змінних, натисніть кнопку «Редагувати», а потім поставте крапку з комою (;) у кінці. Вставте шлях до файлу Java.jar MySQL-Connector.

Якщо CLASSPATH не існує в системних змінних, натисніть кнопку «Створити» та введіть назву змінної як CLASSPATH і значення змінної як C:Program FilesJavajre1.8MySQL-Connector Java.jar;.;

Запам'ятайте: Поставте ;.; в кінці CLASSPATH.

Як встановити CLASSPATH в Java

Різниця між PATH і CLASSPATH

ШЛЯХ CLASSPATH
PATH — це змінна середовища. CLASSPATH також є змінною середовища.
Він використовується операційною системою для пошуку виконуваних файлів (.exe). Він використовується Application ClassLoader для пошуку файлу .class.
Ви повинні включити каталог, який містить файли .exe. Вам потрібно включити всі каталоги, які містять файли .class і JAR.
Змінна середовища PATH після встановлення не може бути перевизначена. Змінну середовища CLASSPATH можна перевизначити за допомогою параметра командного рядка -cp або -CLASSPATH як для команди javac, так і для команди java.

Як встановити CLASSPATH у Windows за допомогою командного рядка

Введіть наступну команду в командний рядок і натисніть enter.

 set CLASSPATH=%CLASSPATH%;C:Program FilesJavajre1.8
t.jar; 

У наведеній вище команді набір є внутрішньою командою DOS, яка дозволяє користувачеві змінювати значення змінної. CLASSPATH - це ім'я змінної. Змінна, укладена у знак відсотка (%), є існуючою змінною середовища. Крапка з комою є роздільником, а після (;) стоїть ШЛЯХ до файлу rt.jar.

розбиття рядка c++

Як папка ext працює в Java

Каталог ext працює трохи подібно до CLASSPATH. каталог ext є частиною механізму завантаження класу. Класи, які доступні в JAR у каталозі ext, доступні для програм Java.

У наведеній нижче таблиці показано ключові відмінності між CLASSPATH і механізмом розширення:

характеристики CLASSPATH Механізм розширення
Порядок завантаження класу CLASSPATH завантажується після початкового завантаження та завантаження розширення. ext завантажується після початкового завантаження, але перед завантаженням CLASSPATH.
Область застосування Це специфіка програми. Усі JRE на хості є змінною середовища CLASSPATH. Усі JVM працюють у певних JRE java.ext.dirs.
Назва пакета java.class.path використовується для пошуку каталогів і архівів JAR, що містять файли класів. java.ext.dirs використовується, щоб вказати, де механізм розширення завантажує класи.
Специфікація Він вказується за назвою, включаючи розширення.jar і каталог, що містить файли .class. Усі файли JAR у вказаних каталогах завантажуються.

Механізм забере всі файли .jar із каталогу розширення, навіть якщо файл не має розширення .jar. Реалізація цього полягає в тому, що якщо можна змінити ім’я jar, розміщеного в каталозі шляху до класів, щоб мати розширення, відмінне від .jar. Символ підстановки (*) не підбирає його. Ця техніка не працюватиме з каталогом розширення.

Давайте розберемо процес виконання на прикладі.

A.java

 public class A { public String toString() { return 'hello'; } } 

B.java

 public class B { public static void main(final String[] args) { System.out.println(new A()); } } 

Скомпілюйте файл A.java. ми заархівуємо скомпільований файл A.class у A.jar. Розмістіть цей файл JAR в іншому каталозі, ніж скомпільований файл B.class.

Щоб продемонструвати використання шляху до класів, ми розміщуємо файл A.jar у каталозі C:JavaPrograms і отримуємо доступ до цього JAR за допомогою шаблону підстановки (*), щоб B використовував його.

Ми виявили, що B все ще може завантажувати A.class, хоча ми видалили його з поточного каталогу. Засіб запуску Java явно шукав C:JavaProgram. Також можна завантажувати клас без його присутності в тому самому каталозі та явної специфікації шляху до класу.

Це часто називають перевагою використання механізму розширення, оскільки всі програми, які використовують JRE, можуть бачити ті самі класи без необхідності явно вказувати їх у шляху до класів.

цифри алфавіту

Що станеться, якщо ми змінимо назву A.jar на A.backup у тому самому каталозі, на який посилається CLASSPATH. Коли ми робимо те саме, виникає помилка NoClassDefFoundError, оскільки посилання CLASSPATH не має розширення .jar.