springboot-整合mybatis-mysql-redis-quartz,到redis整合时就报错

虽然解决了,但是至今仍然不知道什么原因导致的报错信息。
代码根据网上其他大牛们的案列,不断复制复制复制到自己的电脑。。。

项目最终在自己电脑上已经是可以运行的了,但是把代码导入到公司电脑的时候,就报错了。报错信息如下:

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.3.RELEASE)

2018-06-19 14:59:48.644  INFO 11996 --- [           main] c.b.demo.TestSqlMybatisApplication       : Starting TestSqlMybatisApplication on user-PC with PID 11996 (E:\test_sqlMore_mybatis_redis_quartz4\test_sqlMore_mybatis_redis_quartz4\target\classes started by user in E:\test_sqlMore_mybatis_redis_quartz4\test_sqlMore_mybatis_redis_quartz4)
2018-06-19 14:59:48.647  INFO 11996 --- [           main] c.b.demo.TestSqlMybatisApplication       : No active profile set, falling back to default profiles: default
2018-06-19 14:59:48.694  INFO 11996 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@327b636c: startup date [Tue Jun 19 14:59:48 CST 2018]; root of context hierarchy
2018-06-19 14:59:49.095  WARN 11996 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration]; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfigureRegistrar]: Unresolvable class definition; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/RepositoryConfigurationSource
2018-06-19 14:59:49.111  INFO 11996 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-06-19 14:59:49.118 ERROR 11996 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration]; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfigureRegistrar]: Unresolvable class definition; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/RepositoryConfigurationSource
    at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:648) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:303) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:638) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.lambda$processDeferredImportSelectors$2(ConfigurationClassParser.java:567) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at java.util.ArrayList.forEach(Unknown Source) ~[na:1.8.0_131]
    at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:563) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:188) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.3.RELEASE.jar:2.0.3.RELEASE]
    at com.bestwehotel.demo.TestSqlMybatisApplication.main(TestSqlMybatisApplication.java:13) [classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfigureRegistrar]: Unresolvable class definition; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/RepositoryConfigurationSource
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:130) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:150) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:628) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    ... 20 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/data/repository/config/RepositoryConfigurationSource
    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:1.8.0_131]
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) ~[na:1.8.0_131]
    at java.lang.Class.getConstructor0(Unknown Source) ~[na:1.8.0_131]
    at java.lang.Class.getDeclaredConstructor(Unknown Source) ~[na:1.8.0_131]
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:123) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE]
    ... 22 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.RepositoryConfigurationSource
    at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_131]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_131]
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_131]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_131]
    ... 27 common frames omitted

pom.xml的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bestwehotel</groupId>
    <artifactId>test_sql_mybatis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>test_sql_mybatis</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!-- web应用启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        
        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- 连接池 -->
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp-spring</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>
        
        <!-- 整合redis -->
      <!--   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>1.5.9.RELEASE</version>
        </dependency> -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-redis</artifactId>
            <version>1.3.2.RELEASE</version>
        </dependency>
        
        <!-- 定时任务 -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.3</version>
        </dependency>
        

        <!-- MyBatis启动器 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.12</version>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

quartz.properties配置如下:

bonecp.jdbcUrl=jdbc:mysql://127.0.0.1:3306/springboot02?useUnicode=true&characterEncoding=utf8
bonecp.username=root
bonecp.password=root
bonecp.driverClass=com.mysql.jdbc.Driver
bonecp.minConnectionsPerPartition=6
bonecp.maxConnectionsPerPartition=150

#quartz集群配置  
# ===========================================================================    
# Configure Main Scheduler Properties 调度器属性    
# ===========================================================================  
#调度标识名 集群中每一个实例都必须使用相同的名称    
quartz.scheduler.instanceName=DefaultQuartzScheduler  
#ID设置为自动获取 每一个必须不同  
org.quartz.scheduler.instanceid=AUTO    
#============================================================================  
# Configure ThreadPool    
#============================================================================  
#线程池的实现类(一般使用SimpleThreadPool即可满足几乎所有用户的需求)  
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool  
#指定线程数,至少为1(无默认值)(一般设置为1-100直接的整数合适)  
org.quartz.threadPool.threadCount = 25  
#设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5)   
org.quartz.threadPool.threadPriority = 6  
#============================================================================  
# Configure JobStore    
#============================================================================  
# 信息保存时间 默认值60秒   
org.quartz.jobStore.misfireThreshold = 60000  
#数据保存方式为数据库持久化  
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX  
#数据库代理类,一般org.quartz.impl.jdbcjobstore.StdJDBCDelegate可以满足大部分数据库  
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate  
#JobDataMaps是否都为String类型  
org.quartz.jobStore.useProperties = false  
#数据库别名 随便取  
org.quartz.jobStore.dataSource = myDS  
#表的前缀,默认QRTZ_  
org.quartz.jobStore.tablePrefix = QRTZ_  
#是否加入集群  
org.quartz.jobStore.isClustered = true  
#调度实例失效的检查时间间隔  
org.quartz.jobStore.clusterCheckinInterval = 20000 
相关代码:

DialogJob.java

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

//需要交由spring管理
@Service("dialogJob")
public class DialogJob {
//@Autowired
//private QuestionService questionService;
//方法名在quartz定义
public void execute() throws Exception{
//具体执行业务
//  questionService.XXXXX();
    System.out.println("这里是03的版本"+new Date());
}
}

InvokingJobDetailDetailFactory.java

import java.lang.reflect.Method;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class InvokingJobDetailDetailFactory extends QuartzJobBean{
     // 计划任务所在类
     private String targetObject;
     // 具体需要执行的计划任务
     private String targetMethod;
     private ApplicationContext ctx;
     protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
      try {
       Object otargetObject = ctx.getBean(targetObject);
       Method m = null;
       try {
        m = otargetObject.getClass().getMethod(targetMethod);
        m.invoke(otargetObject);
       } catch (SecurityException e) {
        e.printStackTrace();
       } catch (NoSuchMethodException e) {
        e.printStackTrace();
       }
      } catch (Exception e) {
       throw new JobExecutionException(e);
      }
     }
      
     public void setApplicationContext(ApplicationContext applicationContext) {
      this.ctx = applicationContext;
     }
      
     public void setTargetObject(String targetObject) {
      this.targetObject = targetObject;
     }
      
     public void setTargetMethod(String targetMethod) {
      this.targetMethod = targetMethod;
     }
    }

QuartzConfig.java

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
import org.springframework.scheduling.quartz.JobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;


@Configuration
//@ConfigurationProperties("/quartz.properties")
@PropertySource(value = "classpath:quartz.properties")
public class QuartzConfig {
 @Value("${quartz.scheduler.instanceName}")
 private String quartzInstanceName;
   
 @Value("${bonecp.driverClass}")
 private String myDSDriver;
   
 @Value("${bonecp.jdbcUrl}")
 private String myDSURL;
   
 @Value("${bonecp.username}")
 private String myDSUser;
   
 @Value("${bonecp.password}")
 private String myDSPassword;
   
 @Value("${bonecp.minConnectionsPerPartition}")
 private String myDSMaxConnections;
   
   
 /**
  * 设置属性
  * @return
  * @throws IOException
  */
 private Properties quartzProperties() throws IOException {
  Properties prop = new Properties();
  prop.put("quartz.scheduler.instanceName", quartzInstanceName);
  prop.put("org.quartz.scheduler.instanceId", "AUTO");
  prop.put("org.quartz.scheduler.skipUpdateCheck", "true");
  prop.put("org.quartz.scheduler.jmx.export", "true");
    
  prop.put("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX");
  prop.put("org.quartz.jobStore.driverDelegateClass", "org.quartz.impl.jdbcjobstore.StdJDBCDelegate");
  prop.put("org.quartz.jobStore.dataSource", "quartzDataSource");
  prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
  prop.put("org.quartz.jobStore.isClustered", "true");
    
  prop.put("org.quartz.jobStore.clusterCheckinInterval", "20000");
  prop.put("org.quartz.jobStore.dataSource", "myDS");
  prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1");
  prop.put("org.quartz.jobStore.misfireThreshold", "120000");
  prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");
  prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE");
    
  prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
  prop.put("org.quartz.threadPool.threadCount", "10");
  prop.put("org.quartz.threadPool.threadPriority", "8");
  prop.put("org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread", "true");
    
  prop.put("org.quartz.dataSource.myDS.driver", myDSDriver);
  prop.put("org.quartz.dataSource.myDS.URL", myDSURL);
  prop.put("org.quartz.dataSource.myDS.user", myDSUser);
  prop.put("org.quartz.dataSource.myDS.password", myDSPassword);
//  System.out.println("myDSMaxConnections:" + myDSMaxConnections);
  prop.put("org.quartz.dataSource.myDS.maxConnections", myDSMaxConnections);
    
  prop.put("org.quartz.plugin.triggHistory.class", "org.quartz.plugins.history.LoggingJobHistoryPlugin");
  prop.put("org.quartz.plugin.shutdownhook.class", "org.quartz.plugins.management.ShutdownHookPlugin");
  prop.put("org.quartz.plugin.shutdownhook.cleanShutdown", "true");
  return prop;
 }
   
 @Bean
 public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("dialogJobTrigger") Trigger cronJobTrigger) throws IOException {
  SchedulerFactoryBean factory = new SchedulerFactoryBean();
  // this allows to update triggers in DB when updating settings in config file:
  //用于quartz集群,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
  factory.setOverwriteExistingJobs(true);
  //用于quartz集群,加载quartz数据源
  //factory.setDataSource(dataSource);
  //QuartzScheduler 延时启动,应用启动完10秒后 QuartzScheduler 再启动
  factory.setStartupDelay(10);
  //用于quartz集群,加载quartz数据源配置
  factory.setQuartzProperties(quartzProperties());
  factory.setAutoStartup(true);
  factory.setApplicationContextSchedulerContextKey("applicationContext");
  //注册触发器
  factory.setTriggers(cronJobTrigger);
//  factory.setConfigLocation(new FileSystemResource(this.getClass().getResource("/quartz.properties").getPath()));
  return factory;
 }
   
   
 /**
  * 加载job
  * @return
  */
 @Bean
 public JobDetailFactoryBean updateDialogStatusJobDetail() {
  return createJobDetail(InvokingJobDetailDetailFactory.class, "updateDialogStatusGroup", "dialogJob");
 }
 
 /**
  * 加载触发器
  * @param jobDetail
  * @return
  */
 @Bean(name = "dialogJobTrigger")
 public CronTriggerFactoryBean dialogStatusJobTrigger(@Qualifier("updateDialogStatusJobDetail") JobDetail jobDetail) {
  return dialogStatusTrigger(jobDetail, "0/5 * * * * ? ");
 }
 
 
 
 
 
/* //test
 @Bean
 public SchedulerFactoryBean testschedulerFactoryBean(@Qualifier("testJobTrigger") Trigger cronJobTrigger) throws IOException {
  SchedulerFactoryBean factory = new SchedulerFactoryBean();
  // this allows to update triggers in DB when updating settings in config file:
  //用于quartz集群,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
  factory.setOverwriteExistingJobs(true);
  //用于quartz集群,加载quartz数据源
  //factory.setDataSource(dataSource);
  //QuartzScheduler 延时启动,应用启动完10秒后 QuartzScheduler 再启动
  factory.setStartupDelay(10);
  //用于quartz集群,加载quartz数据源配置
  factory.setQuartzProperties(quartzProperties());
  factory.setAutoStartup(true);
  factory.setApplicationContextSchedulerContextKey("applicationContext");
  //注册触发器
  factory.setTriggers(cronJobTrigger);
//  factory.setConfigLocation(new FileSystemResource(this.getClass().getResource("/quartz.properties").getPath()));
  return factory;
 }
 
 
 *//**
  * 加载job
  * @return
  *//*
 @Bean
 public JobDetailFactoryBean testJobDetail() {
  return createJobDetail(InvokingJobDetailDetailFactory.class, "testJobStatusGroup", "testJob");
 }
 
 *//**
  * 加载触发器
  * @param jobDetail
  * @return
  *//*
 @Bean(name = "testJobTrigger")
 public CronTriggerFactoryBean testJobTrigger(@Qualifier("testJobDetail") JobDetail jobDetail) {
  return dialogStatusTrigger(jobDetail, "0/5 * * * * ? ");
 }
 //test
*/
 
 

 
 
 /**
  * 创建job工厂
  * @param jobClass
  * @param groupName
  * @param targetObject
  * @return
  */
 private static JobDetailFactoryBean createJobDetail(Class<?> jobClass, String groupName, String targetObject) {
  JobDetailFactoryBean factoryBean = new JobDetailFactoryBean();
  factoryBean.setJobClass((Class<? extends Job>) jobClass);
  factoryBean.setDurability(true);
  factoryBean.setRequestsRecovery(true);
  factoryBean.setGroup(groupName);
  Map<String, String> map = new HashMap<>();
  map.put("targetObject", targetObject);
  map.put("targetMethod", "execute");
  factoryBean.setJobDataAsMap(map);
  return factoryBean;
 }
 
 /**
  * 创建触发器工厂
  * @param jobDetail
  * @param cronExpression
  * @return
  */
 private static CronTriggerFactoryBean dialogStatusTrigger(JobDetail jobDetail, String cronExpression) {
  CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean();
  factoryBean.setJobDetail(jobDetail);
  factoryBean.setCronExpression (cronExpression);
  return factoryBean;
 }
}

解决方案:至今不知道为什么,改了spring-boot-starter-parent的版本为2.0.0后居然就可以运行了。猜测是版本冲突/电脑配置哪里出了问题。但是为什么在自己的电脑上2.0.3却可以运行?

猜你喜欢

转载自blog.csdn.net/wjw_allen/article/details/80734038
今日推荐