美文网首页
xxl-job 集成问题

xxl-job 集成问题

作者: 就是无名 | 来源:发表于2018-11-18 20:58 被阅读0次

xxl-job是一个很成熟和优秀的开源分布式定时任务系统.

开发项目需要用到定时任务, 首先向到的就是它了.

一开始直接用说明里的例子执行是没问题的. 

接下来需要整合到我们自己的产品中, 这个时候出现了一个问题.

整合进去的时候, 一直报错

Caused by: java.lang.NoClassDefFoundError: [Lorg/eclipse/jetty/webapp/Configuration; at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethods(Class.java:1975) at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613) at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:489) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:206) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:187) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:125) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:295) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:992) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:523) ... 16 common frames omittedCaused by: java.lang.ClassNotFoundException: org.eclipse.jetty.webapp.Configuration at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

咨询公司大牛后, 发现原来我们产品框架使用的 jetty 是provided级别.

但是xxl-job是用到了jetty作为任务的调度通信,而spring boot默认用的是tomcat,没有jetty,所以报错了。

为了简单,暂时用jetty替换tomcat.

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

</exclusion>

</exclusions>

</dependency> <dependency> <groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-jetty</artifactId>

</dependency>

相关文章

网友评论

      本文标题:xxl-job 集成问题

      本文链接:https://www.haomeiwen.com/subject/zhfnfqtx.html