On Mon, 17 Dec 2018 at 02:28, Thomas Kellerer <spam_ea...@gmx.net> wrote:
> Rob Sargent schrieb am 14.12.2018 um 19:28: > > Using java 1.8, postgresql-42.1.4.jar, embedded tomcat 9 > > > > It appears to me that I need to make the call > > "Class.forName("org.postgresql.Driver)" when the entry is in a > > servlet. Is this expected, within a servlet, or is this just /post > > hoc ergo propter hoc /at it finest and I changed something else > > (wittingly or not). Same code outside of servlet does not need the > > forced loading of the class and the manual claims it's not need after > > java 1.6 > > Class.forName() is definitely not needed if the driver's JAR file is > included in the classloader of the class requesting a connection. > > Where exactly did you put the JDBC driver's jar file? > And what exactly is your main() method doing? > > If you look at Tomcat's startup script (catalina.sh or catalina.bat), it's > obvious that setting up the claspath isn't that straightforward. > My guess is, that that your main() method does something different > and does not properly include the driver's jar in the classpath. > Servlet classpath issues are legendary. As Thomas points out setting up the classpath for a servlet engine is not trivial. Dave Cramer da...@postgresintl.com www.postgresintl.com > >