Я пытаюсь использовать Zookeeper для запуска распределенных конечных автоматов в Spring State Machine Project.Я использую IntelliJ для этого проекта.Вот объявление зависимости для maven в pom.xml:
<dependency>
<groupId>org.springframework.statemachine</groupId>
<artifactId>spring-statemachine-data-mongodb</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
Необходимые библиотеки загружаются с использованием maven, как видно из раздела «Внешние библиотеки» в IntelliJ IDE.
КогдаЯ пытаюсь создать экземпляр curatorClient из CuratorFramework, проект не может найти "org.apache.curator.RetryPolicy"
Блок кода, который используется CuratorFramework:
@Bean
public StateMachineEnsemble<States, Events> stateMachineEnsemble() throws Exception {
return new ZookeeperStateMachineEnsemble<States, Events>(curatorClient(), "/foo");
}
@Bean
public CuratorFramework curatorClient() throws Exception {
CuratorFramework client = CuratorFrameworkFactory.builder().defaultData(new byte[0])
.retryPolicy(new ExponentialBackoffRetry(1000, 3))
.connectString("localhost:2181").build();
client.start();
return client;
}
, который возвращает исключение:
**Caused by: java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3172)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2315)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:489)
... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.curator.RetryPolicy
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 25 common frames omitted**
Недействительные кэши и перезапуск не работает.Maven -> Reimport не работает.Чистая установка mvn не работает.
Я не мог понять, чего здесь не хватает.