Search code examples
javaspringoracle-databasespring-bootapplication.properties

Springboot external file db configuration


I have application.properties with that code:

spring.config.additional-location=file:///C:/Users/user/Desktop/project/cfg.properties
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.show-sql=true

and in cfg.properties it looks like that:

spring.datasource.url=jdbc:oracle:thin:@correctDbUrl
spring.datasource.username=user
spring.datasource.password=pass

I think there is something wrong with the path - can't it be outside the project or what happened? This is an error (url is correct, it works when placed directly in application.properties):

 Description:

 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

 Reason: Failed to determine suitable jdbc url

Gradle:

 buildscript {
ext {
    springBootVersion = '2.0.3.RELEASE'
}
repositories {
    maven { url "someRepository" }
    mavenCentral()
}
dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.abc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
maven { url "someRepository" }
mavenCentral()
}


dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile(group: 'com.hynnet', name: 'oracle-driver-ojdbc6', version: '12.1.0.1')
compile("org.springframework.boot:spring-boot-starter-data-jpa")
}

Solution

  • Set the following environment variable.

    SET SPRING_CONFIG_LOCATION=classpath:/application.properties,file:C:/Users/user/Desktop/project/cfg.properties
    

    you can remove "spring.config.additional-location" from the property file.