Как установить переменную CLASSPATH для папки в Ubuntu

Я знаю, что 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

наконец, перезапустите терминал, чтобы изменения вступили в силу