我即将在Tomcat 5.5.x服务器上使用MySQL和Hibernate.
我必须把mysql-connector-java-[version]-bin.jar
中$CATALINA_HOME/common/lib/
我也可以把它放在WEB-INF/lib
我的WAR文件中与我的其他库的依赖?
将它放在我的WAR中会更容易WEB-INF/lib
,因为我可以通过这种方式使用Maven存储库.有没有大的缺点,而不是在Tomcat的公共库目录中?
如果你的jar是共同的,那么它将全局加载到tomcat中.每个webapp都能看到它.如果您将它放在您的webapp中,只有您的webapp才能看到它.我假设Boris所指的是,如果你的全局tomcat配置的某些部分加载了需要mysql连接的东西(比如连接池),那么它将需要jdbc驱动程序,所以它需要共同的.否则,没有.
我相信你可以在tomcat配置中设置一个安全配置,将配置存储在db中.如果你使用它,它将需要一个驱动程序.
你为什么要在webapp/WEB-INF/lib中找东西?好吧,因为它是模块化的,它是你的webapp的一部分,如果你将webapp移动到其他地方,它不需要额外的部分,这是tomcat安装的一部分.如果您可以将webapp直接放入库存tomcat安装中,则维护会更容易.另一个原因 - 如果你有多个webapps,他们都会使用共同的jar,这可能会导致库冲突和版本问题.
一般来说,尽可能少的共同点,你可以逃脱.即使你只有一个应用程序.