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

Я знаю, что export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH добавит tools.jar в CLASSPATH, но я хочу установить папку для CLASSPATH

следующим образом

export CLASSPATH=/usr/local/java/lib/:$CLASSPATH

, но она не работает. [ 114]

16
задан 11 September 2012 в 23:58

3 ответа

Если вы хотите установить classpath навсегда, то 1) выясните, где установлена ​​Java. Вы можете использовать «whereis java» openjdk-7/6 в /usr/lib/jvm/.....

2) нам нужно настроить CLASSPATH в / 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

отдельный каталог с помощью ":"

0
ответ дан 11 September 2012 в 23:58

Во-первых, в общем, установка env var CLASSPATH обычно вызывает больше проблем, чем решает - поскольку не все приложения хотят / нуждаются в одном и том же пути к классам, & amp; часто ломаются, когда нежелательные или даже ненужные банки включены в classpath. Java-приложение должно включать только минимальное количество банок, которое требуется, не больше и не меньше.

Если у вас есть конкретные, отдельные приложения, которым требуется установить classpath, то обычно предпочтительнее использовать параметр командной строки: java -cp path1:path2:.... Для значков рабочего стола можно изменить команду, чтобы включить эти параметры, или сценарии оболочки можно изменить, чтобы включить эти параметры.

Как говорится (и поскольку из правила всегда есть исключения), в зависимости от версии java (требуется java 6 или новее), вы можете указать, что в путь к классу будет добавлен целый каталог jars, добавив «*» в конце каталога; например, следующее:

 /dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...

Означает:

  • /dir1/foo.jar - (единственная банка) будет добавлена ​​в путь к классам;
  • /dir2/dir3 - все классы un-jar'd в этом каталоге будут добавлены в путь к классам (должны быть в правильной структуре пакета; например, com.my.Foo.class должен быть в /dir2/dir3/com/my/Foo.class)
  • /dir5/dir6/* - все jar в этот каталог (т. е. /dir5/dir6/*.jar) будет добавлен в путь к классам. Обратите внимание, что этот «*» не является подстановочным знаком (вы не можете использовать f*.jar или даже *.jar); это специальный символ, обозначающий «добавить все банки»

В общем, если вам нужно добавить целый каталог файлов jar в путь к классам приложения, приложение не было правильно упаковано. Скорее, приложение должно иметь манифест, содержащий список банок, от которых он зависит. Или, по крайней мере, только один jar-файл должен быть добавлен в ваш classpath, и этот jar-файл может содержать весь список jar-файлов в некотором подкаталоге.

0
ответ дан 11 September 2012 в 23:58

откройте терминал и введите

sudo nano ~ / .bashrc

добавьте все необходимые экспорты, например ...

export JAVA_HOME = / usr / local / java / jdk1.6.0_06 (ваш путь)

export ANT_HOME = / opt / ant / apache-ant-1.9.4

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

0
ответ дан 11 September 2012 в 23:58

Другие вопросы по тегам:

Похожие вопросы: