Где вы положите файл.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