Я использую tomcat 8 и развернул файл войны сборки ANT на tomcat, который ранее был развернут в Weblogic.Я разобрался с большинством вещей, и развертывание также успешно на tomcat локально.Однако, когда я пытаюсь протестировать приложение с помощью сценариев Postman, у меня возникают проблемы с подключением к БД.Ошибка как показано ниже:
Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:573)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:637)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:662)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:142)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:148)
//Later part of the error logs:
--------------------------------
Caused by: java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2224)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2104)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
... 53 more
Caused by: java.lang.NullPointerException
at oracle.jdbc.driver.OracleDriver.acceptsURL(OracleDriver.java:981)
at java.sql.DriverManager.getDriver(DriverManager.java:299)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2209)
... 57 more
Пожалуйста, помогите мне понять, где проблема.Мои конфигурации следующие:
web.xml:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MatchDS_DEV</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Context.xml: под tomcat / webapp / manager
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Resource name="jdbc/DEV" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="USER"
password="Admin_1"
driverClassName="oracle.jdbc.xa.client.OracleXADataSource"
url="jdbc:oracle:thin:@//mcpsecv01-***/MCPRM01V"/>
</Context>
Класс DAO:
import javax.sql.DataSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
Class XX{
DataSource dataSource;
private NamedParameterJdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource)
{
jdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}
//more source code
//within a method, m calling this jdbcTemplate like this:
Object value = jdbcTemplate.query(params); // this is where it throws error.
//more source code
}//End of class X
Я поместил ниже jar в tomcat / lib:
ojdbc14, spring-jdbc-3.2.0.RELEASE, commons-dbcp2-2.1.1