Додавання до шляху до класу на OSX


78

Хто-небудь може сказати мені, як додати до шляху до класу на OSX?


3
Ви хочете виправити одну програму, багато програм для одного користувача чи багато програм для всіх користувачів машини?
Thorbjørn Ravn Andersen

javac -cp.: / home / ec2-user / lib / *: QuickStart.java
Kanagavelu Sugumar

Відповіді:


100

Якщо ви хочете зробити певний набір файлів JAR (або файли .class) доступними для кожної програми Java на машині, найкраще додати ці файли до /Library/Java/Extensions.

Або, якщо ви хочете зробити це для кожної програми Java, але лише тоді, коли їх запускає ваш обліковий запис Mac OS X, використовуйте ~/Library/Java/Extensionsзамість цього.

РЕДАГУВАТИ: Якщо ви хочете зробити це лише для певної програми, як просив Торбьєрн, тоді вам потрібно буде розповісти нам більше про те, як упаковується програма.


1
Врятував свій день для того, щоб JUnit працював на Vim за допомогою плагіна перевірки синтаксису. Цікаво, чому на веб-сайті не було жодного простого прикладу встановлення для цього ...
Ory Band

1
Чому MAC не поважає параметри -cp / -classpath, схоже, він завжди завантажує банки з / Library / Java / JavaVirtualMachines
Kanagavelu Sugumar

1
Команда -jar може сканувати / Library / Java / Extensions, ~ / Library / Java / Extensions
Kanagavelu Sugumar 02

Це чудово працює як обхідний шлях, але я погоджуюсь з @kanagavelu. Було б добре знати, чому шлях до класу ігнорується.
JoshOrndorff

39

В OSX ви можете встановити шлях до класу з нуля так:

export CLASSPATH=/path/to/some.jar:/path/to/some/other.jar

Або ви можете додати до існуючого шляху до класу так:

export CLASSPATH=$CLASSPATH:/path/to/some.jar:/path/to/some/other.jar

Це відповідь на ваше точне запитання, я не кажу, що це правильно чи неправильно робити; Я залишу це для інших, щоб коментувати.


1
Я просто хочу додати свою банку до classpath. Чому є стежки до двох банок?
cegprakash

2
Він показує, як додати більше 1 баночки. Він також має на увазі, що додавання лише 1 банки просто :path/to/jarдодається до існуючого шляху до класу @cegprakash
ylun.ca

5

Щоб вказати шлях до класу для одного процесу Java, ви можете додати параметр шляху до класу під час запуску команди Java.

У вас командний рядок. Використовуйте, java -cp "path/to/your/jar:." main а не просто java main

Опція повідомляє Java, де шукати бібліотеки.


-1

Якщо ваша оболонка tcsh або csh, ви можете встановити її в / etc / profile. Відкрийте термінал, "vim / etc / profile" і додайте наступний рядок:

setenv CLASSPATH (insert your classpath here)


-8

Зазвичай у цьому немає потреби. Поперше

echo $CLASSPATH

Якщо там щось є, ви, мабуть, хочете перевірити Додатки -> Службові програми -> Java.


2
Це виправлено для них, щоб зберегти нагромадження голосів проти.
Andrew Swan

Повертає мені порожній рядок?
Koray Tugay

2
якщо у вашій оболонці не встановлено змінну CLASSPATH env, ви отримаєте порожній рядок ... => якщо ви хочете, щоб він містив щось, вам слід встановити його у файлі .bash_profile, .bashrc або будь-якому іншому файлі env, який може використовувати ваша оболонка. ..
Йордан Георгієв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.