В принципе, я хочу иметь что-то вроде следующей структуры:
├── ...
├── core-module
│ ├── build.gradle
│ └── src
│ ├── main
│ | └── java
│ | └── resources
│ | └── application.properties
│ | ├── application-dev.properties
│ | ├── application-test.properties
│ | └── application-prod.properties
│ └── test
│ └── java
├── dogs-module
│ ├── build.gradle
│ └── src
│ ├── main
│ | └── java
│ | └── resources
│ | └── application.properties
│ | ├── application-dev.properties
│ | ├── application-test.properties
│ | └── application-prod.properties
│ └── test
│ └── java
├── cats-module
│ ├── build.gradle
│ └── src
│ ├── main
│ | └── java
│ | └── resources
│ | └── application.properties
│ | ├── application-dev.properties
│ | ├── application-test.properties
│ | └── application-prod.properties
│ └── test
│ └── java
├── birds-module
│ ├── build.gradle
│ └── src
│ ├── main
│ | └── java
│ | └── resources
│ | └── application.properties
│ | ├── application-dev.properties
│ | ├── application-test.properties
│ | └── application-prod.properties
│ └── test
│ └── java
├── src?
└── ...
dogs
, cats
и birds
имеют модуль core
( или base / common) в качестве зависимости. Для Gradle это compile project(':core')
.
dogs
, cats
и birds
никак не связаны. Единственная общая черта - это проект core
.
Я планирую, чтобы корневой каталог src
по умолчанию был пустым, но я мог бы использовать application.properties
, application-{profile}.properties
здесь для некоторой инициализации, если это возможно.
├── ...
└── src
└── main
├── java
└── resources
└── application.properties
├── application-dev.properties
├── application-test.properties
└── application-prod.properties
Как я могу таким образом загрузить свойства для профиля среды, чтобы свойства в следующем файле могли переопределять свойства из предыдущего?
Например, core
← dogs
:
- root-application.properties
- root-application-prod.properties
- core-application.properties
- core-application-prod.properties
- dogs-application.properties
- dogs-application-prod.properties