2016-07-31 6 views
0

Я играл с приложением Spring Boot, развернутым на Heroku, но я наткнулся на ошибку, которую я не могу найти, чтобы найти решение.Spring Boot подключиться к базе данных Postgres на Heroku

Я пытаюсь подключиться к базе данных Postgres после урока Heroku (link), но я получаю эту ошибку снова и снова:

Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Failed to instantiate [javax.sql.DataSource]: 
Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: No supported DataSource type found 

Вот конфигурационный файл я использую:

spring.datasource.url=${JDBC_DATABASE_URL} 
spring.datasource.driverClassName=org.postgresql.Driver 
spring.datasource.username=username 
spring.datasource.password=password 
spring.datasource.removeAbandoned=true 

А класс DatabaseConfig:

@Configuration 
public class DatabaseConfig { 
    @Bean @Primary 
    @ConfigurationProperties(prefix = "spring.datasource") 
    public DataSource dataSource() { 
     return DataSourceBuilder.create() 
       .build(); 
    } 
} 

Может кто-нибудь мне точку в го е правое направление. Что я делаю не так?

+0

Привет, вы правильно добавили зависимость Maven для драйвера JDBC PostGreSQL (pom.xml)? ' org.postgresql PostgreSQL 9.4-1201-jdbc4 ' –

+0

Да - я также зависимость Maven добавил – Alin

+0

ли вы создать и привязать к службе PostgreSQL с использованием Heroku командной строки? $ heroku addons: add heroku-postgresql: hobby-dev –

ответ

1

Я столкнулся с этой же самой точной проблемой и смог ее решить. Проблема не является специфической для Heroku, потому что ее можно воспроизвести, запустив приложение локально, используя ту же конфигурацию.

Согласно stacktrace ясно, что DataSource не найден в пути к классу. Согласно Spring загрузка документации, нашел here, вы можете использовать либо пружинные загрузки стартера JDBC или весна-загрузка пускатель данные JPA автоматически получать кот-JDBC, который представляется предпочтительной в весеннем ботинке.

я добавил следующую зависимость к pom.xml, которая решила проблему:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-jdbc</artifactId> 
</dependency> 
Смежные вопросы