Я сделал это прежде:
ПУТЬ К КЛАССУ = ".:/home/phoenies/jdk1.6.0_17/lib/tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar"
Но сегодня в статье говорится, что я должен сделать это:
ПУТЬ К КЛАССУ = ".:/home/phoenies/jdk1.6.0_17/lib"
Если я сделаю так, то это будет искать все файлы банки в lib? Таким образом, это - вероятно, более короткий путь?
Так как вы используете JDK6, вы можете использовать подстановочные знаки класса-спата: CLASSPATH=".:/home/phoenies/jdk1.6.0_17/lib/*" будет соответствовать всем JARS внутри lib/
Посмотрите http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html там есть раздел "Понимание подстановочных символов пути класса"
.В Java 1.6+ можно установить путь класса в каталог, за которым следует /* для загрузки всех JAR-файлов в этом каталоге. Но не только имя каталога - это для загрузки файлов классов в этом каталоге и подкаталогах
.Я думаю, что наличие переменной окружения CLASSPATH неправильно для всех, кроме самого простого из учебников "Hello, World".
Правильным способом является установка CLASSPATH для каждого проекта при компиляции и запуске. Скорее всего, каждый проект будет отличаться, так что это имеет смысл.
IDE игнорируют настройки окружения CLASSPATH; так же как и все серверы приложений Java EE. Это реликвия Java 1.0. У меня нет набора CLASSPATH ни на одной машине, на которой я работаю.
Научитесь писать сценарии для командной строки. Или используйте Ant. Ты будешь рад.
Да, он будет искать все jar-файлы в lib, если делать это вторым способом. Довольно странно видеть, что путь к классу задан так же точно, как и в первом. Я полагаю, что на сервере, где Вы хотите быть уверенным, какие банки загружаются, это может быть одним из способов ограничить их, но Вы можете столкнуться с проблемами, как долго это может быть, если у Вас будет несколько банок.
.Jar-файлы должны быть указаны по имени в переменной Classpath. Следует отметить, что параметр командной строки -classpath
более универсален, чем переменная окружения, так как он позволяет задавать classpath для каждого приложения.