Spring Boot Application.properties не работаетJAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot Application.properties не работает

Сообщение Anonymous »

У меня проблемы с получением Spring Boot (3.4.1), чтобы прочитать некоторые параметры из файла свойств. Я пытался использовать механизм по умолчанию, назвав мой файл приложение. Но так как я не мог заставить его работать, я решил пойти на путь внешнего файла свойств. Итак, мой код выглядит так: < /p>
@PropertySource("file:/home/user/myapp/myapp.properties")
@SpringBootApplication
public class MyApplication {
public static void main(String... args) {
SpringApplication.run(MyApplication.class, args);
}
}

Это кажется правильным, потому что, если я удаляю (или переименован) файл myapp.properties , когда я пытаюсь инициализировать приложение, оно генерирует ошибку: приложение не смог запустить ресурс конфигурации [/home/user/myapp/myapp.properties] 'wia location' file: //homeperties. Существует
Итак, предполагая, что пружина способна найти файл, я настроил свой компонент для чтения параметра, подобного этому:
@RestController
public class MyAppController {

@Value("${staticRepo}")
private String staticRepo;

@GetMapping(value = "/api/myapp")
List getFoo() {
if (staticRepo== null || staticRepo.trim().isEmpty()) {
throw new InternalServerErrorException("MyApp is not configured properlly. Missing 'staticRepo' parameter in 'myapp.properties'");
}
return FooUtils.load(staticRepo);
}

Я дважды проверил параметр myapp.properties и имеет параметр staticrepo (файл содержит только 1 строку: staticrepo =/home/user/myapp/repo/)
Я обнаружил несколько постов с одной и той же проблемой, но не решала мою проблему. Из одного из этих сообщений я попытался указать файл свойств в командную строку следующим образом, но без удачи ... < /p>
java -jar /home/user/myapp/myapp.jar --spring.config.location=file:///home/user/myapp/myapp.properties

Итак, мой вопрос: что я делаю неправильно? Я использую org.springframework.beans.factory.annotation.value .
И нет, это не глупая версия. Да, я изменил путь и переименовал приложение, но приложение - это именно то, что я опубликовал. Чтобы быть уверенным, используя мастер кода VS (v1.96.2) (Spring Initiazr Java Support v0.11.2) я сгенерировал новое приложение с нуля. Сам мастер создал файл приложения. И да, он печатает null на систему. Саут ... так что, вероятно, моя настройка испорчена ... кстати, это Ubuntu 24.04.2 LTS с OpenJDK 21.0.6.
@SpringBootApplication
public class DemoApplication {

@Value("${spring.application.name}")
private String name;

public static void main(String[] args) {
DemoApplication demo = new DemoApplication();
System.out.println(demo.getName());

SpringApplication.run(DemoApplication.class, args);
}

public String getName() {
return name;
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... ot-working

Вернуться в «JAVA»