Link to home
Start Free TrialLog in
Avatar of Kevin B
Kevin B

asked on

Where to place postgres JDBC driver jar on tomcat

Hi, I have been getting an error in my java web application "No suitable driver found for jdbc:postgresql://...."

This is a maven java web application.  The jar is included as a dependency in the pom file and when the WAR is built out the jar can be found in webapps/MyApplication/WEB-INF/lib.  

I also tried placing the jar in /usr/share/tomcat/lib.  I am still recieving the same error.  I have tried this on a local DB with postgres and the driver works fine.  Can anyone help me out?
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Hi, I have been getting an error in my java web application "No suitable driver found for jdbc:postgresql://...."
Can you post the error as it is exactly please (maybe change the odd letter, but not the form) as it could be the url rather than driver placement
Avatar of Kevin B
Kevin B

ASKER

The error message is "No suitable driver found for jdbc:postgresql://10.233.1.40:5432/postgres"  I am connecting to this DB via pgadmin and it seems to work just fine with this IP address.
Avatar of Kevin B

ASKER

Here is my actual code
	private String getCustomersResults() throws SQLException {
		log.info("The customer results will be printed");
		String url = "jdbc:postgresql://10.233.1.40:5432/postgres";
		Properties props = new Properties();
		props.setProperty("user", "postgres");
		props.setProperty("password", "postgres");
		Connection conn = DriverManager.getConnection(url, props);
		Statement statement = conn.createStatement();
		
		
		log.info("select price from public.customer_rating");
		
		ResultSet rs = statement.executeQuery("select price from public.customer_rating");

		String price = "";
		while (rs.next()) {
			price = rs.getString("price");
		}
		log.info("The price is " + price);
		rs.close();
		conn.close();
		return price;
	}

Open in new window

How would your code know which driver class to use? You didn't tell it
Avatar of Kevin B

ASKER

My understanding was that the JDBC code will look for the driver in your build path.  I have a postgres driver.... is there a way to explicitly tell it?  Is this code not correct?
ASKER CERTIFIED SOLUTION
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Kevin B

ASKER

This fixed it.  Thanks
:)