Мне не нравится установка CLASSPATH. CLASSPATH - это глобальная переменная, и поэтому она является злой:
- Если вы измените его одним скриптом, некоторые java-программы внезапно перестанут работать.
- Если вы положите туда библиотеки для всех вещей, которые вы запускаете, и это будет загромождено.
- Вы получите конфликты, если два разных приложения используют разные версии одной и той же библиотеки.
- Нет увеличения производительности, поскольку библиотеки в CLASSPATH не являются общими - только их имя является общим.
- Если вы поставите точку (.) Или любой другой относительный путь в CLASSPATH, что означает разные вещи в каждом месте - это наверняка вызовет путаницу.
Поэтому предпочтительным способом является установка classpath для каждого запуска jvm, например:
java -Xmx500m -cp ".:../somejar.jar:../mysql-connector-java-5.1.6-bin.jar" "folder.subfolder../dit1/some.xml
Если он становится длинным, стандартной процедурой является обертывание его в bash или пакетный скрипт для сохранения ввода.