NoClassDefFoundError: net/javacrumbs/shedlock/core/LockProvider

问题描述

我们尝试开发一个 cron 批处理。 我配置了 @SchedulerLock 注释,但这些不起作用。此代码可能适用于 1 个以上的节点。我在 Github 上读到 @SchedulerLock 可以与这些工具一起使用,但不起作用。我也尝试过,@TryLock 但也没有效果。我需要帮助来运行这些代码,因为我不知道代码中的失败是什么。谢谢!

@SpringBootApplication
@EnableAutoConfiguration
@EnableCaching
public class AppExportacionDatos {

    public static void main(String[] args) {
        SpringApplication.run(AppExportacionDatos.class,args);
    }

}

@Configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "540m")
public class CommonConfig {
    
    @Bean
    public LockProvider lockProvider(DataSource dataSource) {
        return new JdbcTemplateLockProvider(
            JdbcTemplateLockProvider.Configuration.builder()
            .withJdbcTemplate(new JdbcTemplate(dataSource))
            .usingDbTime() // Works on Postgres,MysqL,MariaDb,MS sql,Oracle,DB2,Hsql and H2
            .build()
        );
    }
    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:i18n/messages");
        messageSource.setdefaultencoding("ISO-8859-1");
        return messageSource;
    }
    @Bean
    public LocalValidatorfactorybean getValidator() {
        LocalValidatorfactorybean bean = new LocalValidatorfactorybean();
        bean.setValidationMessageSource(messageSource());
        return bean;
    }

}
@Component
public class BatchTasks {

    
//  @Scheduled(cron = "${cronExpression}")
    @Scheduled(fixedDelay = 60000)
    @SchedulerLock(name = "scheduledTaskName") 
    public void generarFicheroExportacion() {
        ................
    }
}

        <dependency>
            <groupId>net.javacrumbs.shedlock</groupId>
            <artifactId>shedlock-spring</artifactId>
            <version>4.20.0</version>
        </dependency>
        <dependency>
            <groupId>net.javacrumbs.shedlock</groupId>
            <artifactId>shedlock-provider-jdbc-template</artifactId>
            <version>4.20.0</version>
        </dependency>

运行应用程序的异常是:

Caused by: java.lang.classNotFoundException: net.javacrumbs.shedlock.core.LockProvider
    at java.net.urlclassloader.findClass(urlclassloader.java:382) ~[?:1.8.0_281]
    at java.lang.classLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_281]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) ~[?:1.8.0_281]
    at java.lang.classLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_281]
    at java.lang.class.forName0(Native Method) ~[?:1.8.0_281]
    at java.lang.class.forName(Class.java:348) ~[?:1.8.0_281]
    at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:144) ~[spring-boot-devtools-2.4.0.jar:2.4.0]
    at java.lang.classLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_281]
    at java.lang.class.getDeclaredMethods0(Native Method) ~[?:1.8.0_281]
    at java.lang.class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_281]
    at java.lang.class.getDeclaredMethods(Class.java:1975) ~[?:1.8.0_281]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.3.1.jar:5.3.1]
    ... 26 more

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...