2010-10-01 2 views
0

Я импортирую программу import org.apache.commons.httpclient.*; в программу, но всякий раз, когда я запускаю ее, я должен включить JAR в путь к классам. Почему это необходимо? Есть ли какие-либо способы обойти это?Java Classpath at Runtime

+0

Где, по вашему мнению, он найдет классы, если вы не укажете, где находится JAR? –

+0

Я написал сервлет, который использует пакет Apache, и мне не нужно добавлять местоположение classpath каждый раз, когда он запускается. Так почему же этот случай отличается? –

+1

Как вы управляете сервлетом? Многие контейнеры сервлетов используют множество библиотек классов (возможно, используя этот пакет Apache, на который вы ссылаетесь), поэтому, если контейнер использует эти библиотеки, они будут неявно доступны, потому что эти библиотеки были переданы java.exe, когда сам контейнер сервлета вверх. –

ответ

1

Я подозреваю, что это так же просто, как Tomcat, благодаря веб-серверу, связывает библиотеки, которые он (люди java) считают, что люди, делающие сервлеты, понадобятся и хотят, но это было бы лишним для обычных автономных java-приложения. Может быть, однажды он станет частью самой JRE?

Он также может быть включен в папку lib/folder Tomcat по умолчанию - я не уверен.