Reputation: 3265
I've put my DataSource details in /resources/application.properties file:
spring.datasource.url = jdbc:mysql://localhost:3306/dsm
spring.datasource.username = root
spring.datasource.password = admin123
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
I've tried adding a direct reference to the properties file, this this didn't make any difference.
@PropertySource("classpath:application.properties")
The error being generated is:
2015-11-23 14:44:30.232 INFO 54329 --- [on(2)-127.0.0.1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2015-11-23 14:44:31.522 INFO 54329 --- [on(2)-127.0.0.1] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2015-11-23 14:44:31.535 INFO 54329 --- [on(2)-127.0.0.1] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2015-11-23 14:44:31.629 INFO 54329 --- [on(2)-127.0.0.1] org.hibernate.Version : HHH000412: Hibernate Core {4.3.11.Final}
2015-11-23 14:44:31.632 INFO 54329 --- [on(2)-127.0.0.1] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2015-11-23 14:44:31.636 INFO 54329 --- [on(2)-127.0.0.1] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2015-11-23 14:44:31.824 INFO 54329 --- [on(2)-127.0.0.1] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
23-Nov-2015 14:44:32.005 WARNING [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver Not loading a JDBC driver as driverClassName property is null.
23-Nov-2015 14:44:32.008 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial connections of pool.
java.sql.SQLException: The url cannot be null
Looking at my properties file, both the dialect and the url are defined, and they're not being picked up, which is leading me to believe that the file isn't being ready.
My application class incase it helps:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
Upvotes: 2
Views: 22834
Reputation: 1
I had the same problem, turned out I put the properties file in /resources/META-INF. Changed the package to /resources/<default-package>
and it was fixed.
Upvotes: 0
Reputation: 486
Note that a WebApplicationInitializer is only needed if you are building a war file and deploying it. If you prefer to run an embedded container (we do) then you won't need this at all. docs SpringBootServletInitializer
try this code
@SpringBootApplication
@PropertySource("classpath:application.properties")
public class Application{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Upvotes: 0
Reputation: 3265
It turns out the problem was that Intellj was deploying classes and files to TomCat which had previous been deleted.
I cleared the 'target' folder in IntellJ and redeployed.
Upvotes: 1