Я знаю, что export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
добавит инструменты.jar на ПУТЬ к КЛАССУ, но я хочу установить папку на ПУТЬ к КЛАССУ
подобный этому
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
но это не работает.
Я знаю, что export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
добавит инструменты.jar на ПУТЬ к КЛАССУ, но я хочу установить папку на ПУТЬ к КЛАССУ
подобный этому
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
но это не работает.
Во-первых, в общем, установка env var CLASSPATH
обычно вызывает больше проблем, чем решает - поскольку не все приложения хотят / нуждаются в одном и том же пути к классу, & amp; часто ломается, когда в путь к классу включены нежелательные или даже ненужные jar-файлы. Java-приложение должно включать только минимальное количество jar, которое ему требуется, не больше и не меньше.
Когда у вас есть конкретные отдельные приложения, для которых требуется задать путь к классу, обычно предпочтительнее использовать параметр командной строки: java -cp path1:path2:...
. Команда значков рабочего стола может быть изменена, чтобы включить эти параметры, или сценарии оболочки могут быть изменены, чтобы включить эти параметры.
При этом (и поскольку из правила всегда есть исключения), то в зависимости от версии java (для этого требуется java 6 или более поздняя версия) вы можете указать, что в путь к классу должен быть добавлен целый каталог jar, добавив "*
" в конце каталога; например, следующее:
/dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...
Означает:
/dir1/foo.jar
- (единственный jar) будет добавлен в путь к классу;/dir2/dir3
- все не-jar'd классы в этом каталоге будут добавлены в classpath (должны быть в правильной структуре пакета; например, com.my.Foo.class
должно быть, в /dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
- все банки в этом каталоге (т.е., /dir5/dir6/*.jar
) будет добавлен в путь к классу. Обратите внимание, что это "*
" не является подстановочным знаком (вы не можете использовать f*.jar
или даже *.jar
); это специальный символ, указывающий на "добавить все банки".В общем, если вам нужно добавить целый каталог jars в путь к классу приложения, приложение было неправильно упаковано. Скорее всего, приложение должно иметь манифест, содержащий список банок, от которых оно зависит. Или, по крайней мере, в ваш путь к классу должен быть добавлен только один jar, и этот jar может содержать в своем манифесте весь список jar в каком-либо подкаталоге.
если вы хотите установить путь к классу постоянно, то 1) выясните, где установлена java.. вы можете использовать "whereis java" openjdk-7/6 находится в /usr/lib/jvm/.....
2) нам нужно настроить ПУТЬ к КЛАССУ в /etc/environment
sudo gedit /etc/environment
3) добавьте следующие лайки .. (НЕ ОСТАВЛЯЙТЕ ПРОБЕЛОВ ПРИ ВВОДЕ) (настройте в соответствии с вашей версией java и установкой) (этот домашний путь предназначен для open jdk 7)
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/bin" export JAVA_HOME CLASSPATH=".:/usr/lib/jvm/java-7-openjdk-i386/lib:/home/laptop/Desktop/a2" export CLASSPATH
отдельный каталог с помощью ":"
откройте терминал и введите
sudo nano ~/.bashrc
добавьте все экспортные данные, которые вам нужны, например...
экспорт JAVA_HOME=/usr/local/java/jdk1.6.0_06(ваш путь)
экспорт ANT_HOME=/opt/ant/apache-ant-1.9.4
наконец, перезапустите терминал, чтобы изменения вступили в силу