CLASSPATH, Java Buld Path (eclipse) и WEB-INF \ LIB: что использовать, когда и почему?

Недавно я перешел на J2EE из .NET, и я не совсем понимаю, куда помещать файлы JAR. Я знаю, что CLASSPATH, WEB-INF и Eclipse Java Web Path - все места, где могут храниться JAR-файлы, но я не совсем понимаю, какую папку использовать, когда и почему.

Во-первых, у нас есть CLASSPATH. Я обычно устанавливаю это, заходя в «Переменные среды» внутри «Моего компьютера». Я знаю, что это место по умолчанию, где компилятор Java ищет файлы JAR. Когда я добавляю папку или JAR в мою переменную среды CLASSPATH, почему Eclipse, компилятор Java и веб-сервер игнорируют его?

Также я знаю, что WEB-INF \ LIB - это место, где вы можете поместить файлы JAR, которые будет использовать ваше веб-приложение. Однако я поместил JAR-файлы в WEB-INF \ LIB только для того, чтобы их игнорировать. В каких ситуациях мне следует помещать JAR-файлы в папку WEB-INF \ LIB? Как мне получить Eclipse или веб-сервер, чтобы заметить их?

Пока что единственное, что мне подходит, - это изменение пути сборки Java для проекта Eclipse. Я выберу нужные мне JAR и нажму «Добавить внешние JAR». В большинстве случаев, когда я делаю это, Eclipse распознает мои JAR-файлы и читает их классы. Тем не менее, я натолкнулся на кучу странных случайных ошибок при этом (в основном это связано с зависимостями, я думаю). По какой-то причине у меня просто возникает ощущение, что это неправильный способ что-то делать, и что мне не хватает какой-то важной информации. Когда я должен вручную добавлять внешние JAR-файлы в Eclipse, и когда я должен делать вещи по-другому? Как получилось, что Eclipse Java Build Path, похоже, не знает о папках в моей переменной среды CLASSPATH?

На самом деле, я просто хотел бы лучше понять CLASSPATH, путь компоновки Java Eclipse и папку WEB-INF / LIB - цели, которые они служат, отношения между ними и то, куда я должен помещать свои JAR-файлы в различные ситуации. Буду признателен за любые советы, которые вы мне дадите, или за статьи, которые вы можете порекомендовать

Спасибо.

Ответы на вопрос(7)

Ваш ответ на вопрос