Где вы положите файл.jar для внешней библиотеки в Java

Это, наверное, довольно глупый вопрос. Я только что узнал, как использовать внешние библиотеки в Java, добавив файл.jar в путь к классам и еще много чего, но где именно вы храните файл.jar? В видеоруководстве о добавлении файлов.jar в путь к классам программист просто сохранил файл.jar в своей папке загрузок. Так вы можете положить файл в любом месте? Или есть общая парадигма относительно того, где вы храните свои библиотечные файлы, которые я должен соблюдать?

3 ответа

Решение

Лучше использовать такие системы управления зависимостями, как maven но если у вас есть ограничения для этого,

Всегда лучше поместить свой JAR-файл в ваш проект lib папка, потому что во время миграции это поможет вам хранить все вещи в одном месте.

В случае нескольких проектов будет лучше иметь одно централизованное расположение на сервере, где вы размещаете ваши файлы JAR.

Файл.jar может храниться где угодно, пока JVM может получить к нему доступ. Если вы используете java или же javaw команда для выполнения вашего приложения Java, указав файл.jar с -cp Switch достаточно, чтобы Java знал, где найти дополнительные классы.

Поэтому, если вы загрузили commons-io-2.4.jar в свою папку Download, вы можете использовать следующую команду для запуска вашей программы со всеми классами в библиотеке ввода-вывода Apache Commons:

java -cp ~/Downloads/commons-io-2.4.jar YourMainClassName

Но даже несмотря на то, что вы можете ссылаться на файл.jar в любом месте, существует соглашение о размещении всех внешних библиотек, необходимых для проекта, в каталоге lib /, чтобы их можно было легко найти.

Рекомендации:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html, см. -cp особенно раздел

В обычных случаях использования для запуска простых Java-приложений размещение JAR в любом месте будет работать там, где выполняется через IDE.

НО

Когда вы будете заниматься разработкой веб-приложений, вы увидите, что необходимо поместить внешние JAR-файлы в Web-INF / lib. В противном случае при развертывании приложения сервер не найдет JAR во время выполнения и выдаст исключение java.lang.ClassNotFoundException. Вы также можете поместить JAR-файлы прямо в папку Server lib, но это не обычное соглашение.

Для приложений Swing/SWT внешние JAR-файлы должны быть упакованы / отправлены вместе с исполняемым приложением. В этих случаях вы должны поместить файлы JAR в папку вашего проекта, предпочтительно в папку LIB. Например, посмотрите на этот сайт: Исполняемый JAR

Другие вопросы по тегам