У меня странная проблема. Я создал приложение Spring Batch, которое было запущено с Spring Boot. Все мои модульные тесты проходят. Но когда я запускаю программу из командной строки:Нет готового компонента типа org.springframework.jdbc.core.JdbcTemplate с Spring Boot & Batch
java -cp "./batch-1.0-SNAPSHOT-jar-with-dependencies.jar:." com.batch.BatchApplication
Я получил Нет квалификационную боба типа [org.springframework.jdbc.core.JdbcTemplate].
Если я запускаю тот же основной класс из Eclipse, все работает.
public class BatchApplication {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
System.exit(SpringApplication.exit(SpringApplication.run(BatchConfiguration.class, args)));
}
}
Весенняя загрузка «Автоконфигурация» кажется, не работает с использованием командной строки. Не могли бы вы мне помочь?
Нет, если вы видите мой путь класса, у меня есть "." для ссылки на текущий каталог для загрузки внешних ресурсов. java -jar ... не позволяет расширять путь к классам. – Aure77
Да, но ваш основной класс не делает ничего умного. Если вам нужно добавить каталоги в классpath, посмотрите на один из других основных классов в Spring Boot (например, «PropertiesLauncher» http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#executable- баночка-свойство-пусковая-функция). –
Итак, я не могу использовать Spring Boot со стандартным (uber) java jar? Мне нужно использовать только формат загрузки Spring Boot и Launcher? Как я могу экрнализировать 'application.properties' с помощью' PropertiesLauncher' (аргументы командной строки?)? – Aure77