Мой проект maven имеет три модуля:
Dummy-project
- Module A
- Module A1
- Module A2
- src/main
- java
- HttpMetaDataUtil.java
- resources
- config/beta
- application.properties
- Module B
- src/main
- resources
- config/beta
- application.properties
- Module C
В модуле A2, используя файл HttpMetaDataUtil. java, я хочу прочитать содержимое из файла свойств (находящегося только внутри модуля A2).
HttpMetaDataUtil. java
@Getter
@Setter
@Component
@PropertySource("classpath:config/beta/application.properties")
@ConfigurationProperties(prefix = "api.verification")
public class HttpMetaDataUtil {
private Map<String, String> smartCard;
}
Модуль A2 / src / main / resources / config / beta / application.properties
# SmartCard related properties
api.verification.smartCard.path=https:dummy_data
api.verification.smartCard.retryDelay=1000
api.verification.smartCard.serviceTimeout=30000
Но карта SmartCard устанавливается в ноль.
Когда я помещаю вышеуказанную конфигурацию свойств в Модуль B / src / main / resources / config / common / application.properties, она берет свойства из этот файл.
Модуль B / src / main / resources / config / beta / application.properties
# SmartCard related properties
api.verification.smartCard.path=https:dummy_data
api.verification.smartCard.retryDelay=1000
api.verification.smartCard.serviceTimeout=30000
Это означает, что HttpMetaDataUtil. java (находится в модуле A2) имеет установленный путь к классу для модуля B.
Я проверил его, изменив строку @ PropertySource в HttpMetaDataUtil. java на @PropertySource("classpath:config/beta/application_new.properties")
и создание application_new.properties файла только в модуле A2 , и это вследствие исключения fileNotFound.
java.io.FileNotFoundException: class path resource [config/beta/application_new.properties] cannot be opened because it does not exist
Когда я создал файл application_new.properties также в модуле B , он выбирает свойства из этого файла.
Может кто-нибудь сказать, почему класс модуля A2 выбирает свойства из модуля B? Что-то, чего мне не хватает, связано с classpath?