2014-12-28 3 views
2

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

+1

обычно файлы jar помещаются в папку lib внутри вашего проекта –

+0

Возможный дубликат [Где разместить внешние банки?] (Http://stackoverflow.com/questions/325524/where- to-put-the-external-jars) –

+2

Вы также можете захотеть провести некоторое исследование в системах управления зависимостями, таких как Maven – MadProgrammer

ответ

1

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

Это всегда лучше, чтобы поместить файл банку внутри в проекте lib папку, потому что в момент миграции это поможет вы должны держать все в одном месте.

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

+0

Означает ли это, что при создании другого проекта создается другая копия? Кажется избыточным для меня – MadProgrammer

+0

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

+0

Итак, возможно, используйте систему управления зависимостями, такую ​​как Maven или Ivy ... – MadProgrammer

0

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

Так что, если вы загрузили Обще-ю-2.4.jar в вашей папке загрузки, вы можете использовать следующую команду, чтобы запустить программу со всеми классами в библиотеке Apache Commons IO:

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

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

Ссылки:

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

0

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

НО

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

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

Смежные вопросы