export CLASSPATH=.;../somejar.jar;../mysql-connector-java-5.1.6-bin.jar
java -Xmx500m folder.subfolder../dit1/some.xml
cd ..
является приведенным выше утверждением для установки пути к уже существующему пути к классам в linux, или нет
export CLASSPATH=.;../somejar.jar;../mysql-connector-java-5.1.6-bin.jar
java -Xmx500m folder.subfolder../dit1/some.xml
cd ..
является приведенным выше утверждением для установки пути к уже существующему пути к классам в linux, или нет
Мне не нравится установка CLASSPATH. CLASSPATH - глобальная переменная, и поэтому она зла:
Поэтому предпочтительный способ - установить путь к классу на каждый запуск jvm, например:
java -Xmx500m -cp ".:../somejar.jar:../mysql-connector-java-5.1.6-bin.jar" "folder.subfolder../dit1/some.xml
Если это длится, стандартная процедура заключается в том, чтобы обернуть ее в bash или пакетный script, чтобы сохранить ввод.
Он всегда советовал никогда не разрушать существующий путь класса, если у вас нет веской причины.
Следующая строка сохраняет существующий путь к классам и добавляет его.
export CLASSPATH="$CLASSPATH:foo.jar:../bar.jar"
Важным различием между установкой Classpath в Windows и Linux является разделитель путей, который является ";" (полуколония) в Windows и ":" (двоеточие) в Linux. Кроме того, %PATH%
используется для представления значения существующей переменной пути в Windows, а ${PATH}
используется для той же цели в Linux (в оболочке bash). Вот способ установки classpath в Linux:
export CLASSPATH=${CLASSPATH}:/new/path
но поскольку такой путь класса очень сложный, и вы можете задаться вопросом, почему ваша программа не работает даже после установки правильного пути класса. Что следует отметить:
-cp
переопределяют переменную среды CLASSPATH
.-cp
и CLASSPATH
envorinment.Ссылка: Как работает Classpath в Java.
Контуры под linux разделяются двоеточиями (:
), а не полуколонами (;
), так как theatrus правильно использовал его в своем примере. Я считаю, что Java уважает это соглашение.
В качестве альтернативы тому, что предложил andy, вы можете использовать следующую форму (которая устанавливает CLASSPATH на протяжении всей команды):
CLASSPATH=".:../somejar.jar:../mysql-connector-java-5.1.6-bin.jar" java -Xmx500m ...
в зависимости от того, что вам более удобно.