В настоящее время я пытаюсь создать приложение Spring Shell в Scala.
Он работает в IntelliJ, но не работает при создании баночки.
У меня есть рабочее доказательство концепции в Java, которая также успешно создает работающий jar.
Однако моя версия Scala не работает с несколькими:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'parameterValidationExceptionResultHandler': Unsatisfied dependency expressed through field 'parameterResolvers'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.List<org.springframework.shell.ParameterResolver>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
Я пробовал несколько минимальных примеров, перемещая классы (один и тот же пакет) и различные аннотации Spring (например, @SpringBootApplication для обоих).
Java-версия:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@ShellComponent
public class MyCommands {
@ShellMethod("Add two integers together.")
public int add(int a, int b) {
return a + b;
}
}
Версия Scala:
@EnableAutoConfiguration
@ComponentScan
class DemoApplication
object Scark extends App {
SpringApplication.run(classOf[DemoApplication], args:_*)
}
@ShellComponent class MyCommands {
@ShellMethod("Add two integers together.") def add(a: Int, b: Int): Int = a + b
}
Я ожидаю, что смогу также успешно построить флягу из версии Scala.
Редактировать: я загрузил минимальный пример:
https://github.com/Zethson/Scala-Spring-Shell-Example/tree/feature/minimal_scala_issues_SO