|
|
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Есть проект spring+maven+tomcat. И у меня встал вопрос где более правильно хранить jdbc драйвера, в tomcat/lib или локально в проекте project/WEB-INF/lib? Читала,что более правильно все же в tomcat, но как заставить maven подлючить библиотеки из tomcat/lib? Пробовала в pom.xml прописать: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. DbConfig.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ,но получаю ошибки Код: powershell 1. При этом если прописать драйвера просто в maven dependencies,то все подлючения к БД проходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 05:59 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
gema, имхо, в maven dependencies - более прозрачно для читающего, а так поди знай, что там на сервере в либах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 06:06 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
gemaЕсть проект spring+maven+tomcat. И у меня встал вопрос где более правильно хранить jdbc драйвера, в tomcat/lib или локально в проекте project/WEB-INF/lib? Читала,что более правильно все же в tomcat, но как заставить maven подлючить библиотеки из tomcat/lib? При этом если прописать драйвера просто в maven dependencies,то все подлючения к БД проходят. В мавен есть понятие scope которое указывает на каком уровне подключать библиотеки. В вашем случае это будет кажется provided. Т.е. в проекте библиотека подключится. В IDE будут работать подсказки в сборку эти файлы не попадут и если эту war-ку положить в томкат где недоступты классы jdbc Драйвера то тупо получите ClassNotFoundException. По аналогии для web приложения требуется servlet-api dependencн который уже есть в tomcat, но нужен он для IDE чтобы IDE Не светилась красным. и кажется еще jsp-servlet (что то такое) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 09:58 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
llemingВ мавен есть понятие scope которое указывает на каком уровне подключать библиотеки. В вашем случае это будет кажется provided. Т.е. в проекте библиотека подключится. В IDE будут работать подсказки в сборку эти файлы не попадут и если эту war-ку положить в томкат где недоступты классы jdbc Драйвера то тупо получите ClassNotFoundException. По аналогии для web приложения требуется servlet-api dependencн который уже есть в tomcat, но нужен он для IDE чтобы IDE Не светилась красным. и кажется еще jsp-servlet (что то такое) Присоединяюсь к ответу. Драйвер устанавливать в Tomcat, и, что не менее важно, там же настраивать DataSource. В Maven использовать правильный dependecy scope, который использует драйвер для компиляции проекта, но не копирует его в дистрибутив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 10:01 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Да, согласна насчет provided для driver.jar Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. . Драйвера отображаются в ide, но в war не попадают. Но ошибка о недоступности ресурса так и остается при варианте provided "Caused by: java.lang.NoClassDefFoundError: javax/resource/ResourceException". В чем может быть причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 11:52 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 11:57 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Blazkowicz,а почему и DataSource более логично настаивать в tomcat???Чтобы был был один ресурс для нескольких проектов, в которых она может быть использована?Или есть и другие причины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:14 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
А какие ЗП у разрабов нынче в Новочебоксарском Химпроме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:26 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
gema, Обычно, в организации есть как минимум 3 среды в которых крутится система. Production, QA, Development. Иногда больше. Если вы настроите соединение с базой внутри проекта, или даже в Maven профиле. То для Production, QA и Development у вас будет 3 разных версии одного и того же сервера. При этом, что самое смешное, пароли от вашего Production, хранятся в SVN и доступны всем разработчикам и не только им. Если же DataSource настроен в сервере, то, вместо 3х разных сборок, у вас всего одна, которая деплоится в любой сервер без каких либо манипуляций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:31 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Blazkowicz,спасибо за помощь. Не заметила,что проблема только firebird. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:31 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
gemaГде более правильно хранить jdbc драйвера, в tomcat/lib или локально в проекте project/WEB-INF/lib? Читала,что более правильно все же в tomcat В папке /lib Tomcat-а хранить можно, но некультурна, потому что эта папка предназначена для самого Tomcat-а. Правильно в папке /lib/ext в Tomcat-е (подпапку /ext создать, если ещё нет). В папке lib в программе хранить тоже можно. Выбор зависит от того, понадобится JDBC драйвер для разных программ (тогда в Tomcat-е) или только для одной (тогда в ней, но хранение в Tomcat-е позволяет заменить JDBC драйвер без переустановки программы). То есть, выбор - вопрос удобства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:42 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Partisan MВ папке /lib Tomcat-а хранить можно, но некультурна, потому что эта папка предназначена для самого Tomcat-а. Правильно в папке /lib/ext в Tomcat-е А можно пруфлинк? Я такого в мануалах уже давно не видел. https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html С тех пор как shared и commons убрали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 12:52 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Partisan MВ папке /lib Tomcat-а хранить можно, но некультурна, потому что эта папка предназначена для самого Tomcat-а. Правильно в папке /lib/extПравильно это в catalina.base/lib (Tomcat 7+) или, таки в catalina.home/lib (Tomcat 6-), а не во всякой странной хренотени. P.S. "По умолчанию" catalina.base == catalina.home Чтобы понимать почему такая разница по версиям котяры, надо внимательно посмотреть на значение common.loader в catalina.properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:01 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
... В некоторых случаях можно использовать и класс-путя ява-рантайма, но если человек это делает, то, наверное, он и сам понимает что да как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:03 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПравильно это в catalina.base/lib (Tomcat 7+)Поправка: ${catalina.base}/lib это Tomcat 6+. А вот архаичный Tomcat 5.5 - ${catalina.home}/common/lib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:28 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
хранить в project/WEB-INF/lib, с учетом чтоб драйвер оказался в в итоговом jar есть преимущество в томм , что этот jar можно переносить с машины на машину, без проблем забыть что-то. ну и не замарачиваться с версиями драйвера - гарантированно знаешь что в проекте есть драйвер (пусть даже и устаревший) но проверенный, и система с ним проверенно работает. когда под кошкой развернуто несколько приложений может быть критична замена драйвера в общей папке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:40 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
вадяхранить в project/WEB-INF/lib, с учетом чтоб драйвер оказался в в итоговом jar есть преимущество в томмНет никаких преимуществ, кроме проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:42 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяхранить в project/WEB-INF/lib, с учетом чтоб драйвер оказался в в итоговом jar есть преимущество в томмНет никаких преимуществ, кроме проблем. не будь голословным - перечисли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 20:55 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
У контейнера есть четыре стандартных загрузчика (системный не учитываем): 1. Общий - доступен и для контейнера и для приложений; 2. Серверный - доступен только для контейнера; 3. Разделяемый - доступен всем приложениям, но не контейнеру; 4. Приватный - доступен только конкретному приложению. Если контейнер должен "чем-то" управлять (он много чем управляет), то это "что-то" должно быть в общем загрузчике. Да, разумеется, если ваше приложение развёртывается в одном-единственном контексте, перезапускается (только) вместе с контейнером и закатывает солнце вручную - на все рекомендации можно забивать болт. В конце-концов, программисты очень изобретательны. Но, если вы не хотите попасть в ситуацию, когда "происходит странная хрень и непонятно - что делать" - делайте правильно сразу . Знаний это не добавит, но хотя бы исключит возникновение "странной хрени". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:05 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, я не увидел ни одного аргумента, кроме перечисления того, что ты знаешь. это не аргументы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:14 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
допустим на сервере активны несколько проектов, которые коннектятся с разными базами, не логичней ли хранить разные jdbc jar's в своих проектах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:22 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
rema174, ну давайте спорить, что лучше - локальная переменная процедуры или на уровне класса. Очевидно что всякие нужны и важны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:25 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Petro123rema174, ну давайте спорить, что лучше - локальная переменная процедуры или на уровне класса. Очевидно что всякие нужны и важны. вот я и хочу услышать аргументы . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:33 |
|
||
|
maven+tomcat где правильно хранить jdbc драйвера????
|
|||
|---|---|---|---|
|
#18+
Petro123rema174, ну давайте спорить, что лучше - локальная переменная процедуры или на уровне класса. ну это кагбе разные вещи. переменная метода не отменяет необходимость переменных класса и наоборот там где это нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 21:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39233167&tid=2124071]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 328ms |

| 0 / 0 |
