Недавно я переключился на J2EE с .NET, и я смущен тем, где положить файлы JAR. Я знаю, что Java-путь CLASSPATH, WEB-INF и Eclipse - это все места, где JAR можно хранить, но я смущен о том, какую папку использовать, когда и почему.CLASSPATH, Java Buld Path (eclipse) и WEB-INF LIB: что использовать, когда и почему?
Прежде всего, у нас есть 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 в разных ситуациях. Я был бы признателен за любые советы, которые вы могли бы мне дать, или любые статьи, которые вы могли бы порекомендовать.
спасибо.
О, и еще один вопрос - если моему веб-приложению требуется определенный JAR, мне нужно добавить этот JAR в конфигурацию запуска как а также путь сборки проекта? Являются ли прогон конфигурации и путь сборки всегда полностью разделяющими вещи или когда-либо влияют на другие? – sangfroid
(и да, предполагается, что я запускаю свой веб-проект из Eclipse) – sangfroid
Как мы можем это сделать для страниц EAR/lib? http://stackoverflow.com/questions/29753457/jasper-reports-package-net-sf-jasperreports-engine-does-not-exist-exception-in С уважением, –