javac не может найти файлы jar, которые были установлены в jre / lib / ext - PullRequest
3 голосов
/ 24 июня 2011

Я хочу попробовать библиотеку Java3D и использовал установщик, чтобы автоматически установить их для меня (у меня работает windows).Я использовал Elipse и заметил, что он не может найти пакеты.Я попытался скомпилировать класс вне Eclipse из командной строки, и у меня возникли те же проблемы.

Установщик определенно поместил файлы jar в мою папку java-sdk / jre / lib / ext, поэтому я неЯ уверен, что он не обнаруживает их автоматически, так как я думал, что эта папка была автоматически найдена.

Затем я вручную добавил jar в classpath, установив переменную среды CLASSPATH, и программа работала вне Eclipse.Eclipse все еще не мог их найти, поэтому я добавил файлы jar в свой проект Eclipse, и он работает.

Мне очень хотелось бы знать, почему я должен был установить переменную среды CLASSPATH, когда банки былиустановлен в папке jre / lib / ext.

Другая информация заключается в том, что я заметил, что в моих переменных окружения нет переменной JAVA_HOME.Должно ли быть?Это может быть проблемой.

Кроме того, просто для интереса (и обучения) я замечаю в установке Java, что внутри папки Java-SDK-1.6.xxx есть папка JRE, а также другая в том же каталоге, что и Java-SDK.-1.6.xxx папка.Почему это?

Большое спасибо заранее.

Джо

Ответы [ 2 ]

4 голосов
/ 24 июня 2011
1 голос
/ 25 июня 2011

Без JAVA_HOME переменной среды java Extensions classloader не может найти путь к jre/lib/ext dir. Поскольку по умолчанию загрузчик класса расширений загружает код в <JAVA_HOME>/lib/ext.

Подробнее см. Java Classloader .

...