Недавно я переключился на 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, Eclipse Java Build Path и папку WEB-INF/LIB - цели, которые они обслуживают, отношения между ними и где я должен ставить свои JAR в различных ситуациях. Я был бы признателен за любые советы, которые вы могли бы мне дать, или любые статьи, которые вы могли бы порекомендовать.
Спасибо.