文档章节

因为org.quartz-scheduler-quartz定时任务引入版本过高导致项目启动报错问题

andotorg
 andotorg
发布于 03/14 11:09
字数 619
阅读 389
收藏 0
点赞 0
评论 0

具体错误信息

`o.a.tomcat.util.scan.StandardJarScanner  : Failed to scan [file:/C:/Users/ABC/.m2/repository/com/mchange/c3p0/0.9.5.2/mchange-commons-java-0.2.11.jar] from classloader hierarchy

java.io.FileNotFoundException: C:\Users\ABC.m2\repository\com\mchange\c3p0\0.9.5.2\mchange-commons-java-0.2.11.jar (The system cannot find the file specified) at java.util.zip.ZipFile.open(Native Method) ~[na:1.8.0_60] at java.util.zip.ZipFile.<init>(ZipFile.java:219) ~[na:1.8.0_60] at java.util.zip.ZipFile.<init>(ZipFile.java:149) ~[na:1.8.0_60] at java.util.jar.JarFile.<init>(JarFile.java:166) ~[na:1.8.0_60] at java.util.jar.JarFile.<init>(JarFile.java:130) ~[na:1.8.0_60] at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60) ~[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49) ~[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338) ~[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288) ~[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) [tomcat-embed-jasper-8.5.23.jar:8.5.23] at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104) [tomcat-embed-jasper-8.5.23.jar:8.5.23] at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101) [tomcat-embed-jasper-8.5.23.jar:8.5.23] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) [tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) [tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.5.23.jar:8.5.23] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]`

项目移植

原有项目Spring+SpringMVC的普通的web项目移植到SpringBoot+Maven上来,这个过程最痛苦的莫过于寻找jar包的依赖了,在寻找jar包的依赖的时候,有一个jar出现了问题。

项目启动的时候错误信息

问题原因

底层系统 用的是org.quartz-scheduler-quartz1.6.2 我在maven仓库中没有找到,后来发现maven仓库中有2.3.0,就把版本号修改了,库中还有一个1.8.6但是看到不是新版本就没有使用。 就这样移植完成之后就进行启动项目了,因为项目中使用的数据库连接池是Durid,所以项目启动报错一个c3p0的jar包找不到,我很纳闷。

查找原因

我就使用 mvn dependency:tree //查看Maven包的依赖树 查出来是org.quartz-scheduler-quartz 2.3.0强依赖c3p0的两个jar包

!]

然后我就开始看项目中原来引入的版本,然后查看其它项目引入的版本,其它项目引入的确实1.8.6,这是个很奇怪的问题,然后我就反编译1.8.6发现,1.8.6却没有强依赖c3p0

解决问题

我就决定换为1.8.6,这样得需要修改下定时器配置文件中的一个类 2.3.0升级之后更换了,1.8.6和1.6.2是一样的,这样版本更换后就可以解决这个问题了。

最后说一下总结:

jar包的版本切不可随意更换,因为不了解新版本做了哪

© 著作权归作者所有

共有 人打赏支持
andotorg

andotorg

粉丝 6
博文 12
码字总数 4737
作品 0
济南
后端工程师
Spring3+Quarz实现定时任务

一、首先引入quarz所需要的jar包,如下: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.6</version> </dependency> 二、编写定时任......

薄暮凉年 ⋅ 2015/08/12 ⋅ 0

spring +quartz maven配置

quartz做定时任务,之前使用过,但是当时没有做笔记,导致又折腾了一点时间由于使用的是spring+hibernate的项目,使用maven管理包maven配置如下: work0 0 0/12 ? class="org.springframewor...

zph-alan ⋅ 2016/09/22 ⋅ 0

Spring4+Springmvc+quartz实现多线程动态定时调度

scheduler定时调度系统是大多行业项目都需要的,传统的spring-job模式,个人感觉已经out了,因为存在很多的问题,特别是定时调度的追加、修改、删除等,需要修改xml,xml的配置生效无非是热部...

SpringCloud关注者 ⋅ 2017/11/02 ⋅ 8

Spring4+Springmvc+quartz实现多线程动态定时调度

scheduler定时调度系统是大多行业项目都需要的,传统的spring-job模式,个人感觉已经out了,因为存在很多的问题,特别是定时调度的追加、修改、删除等,需要修改xml,xml的配置生效无非是热部...

原野先 ⋅ 2017/11/09 ⋅ 0

quartz在Play中的简单使用

1.简单介绍 的功能十分强大,我这里只是简单记录我在项目中使用的过程,便于以后查缺补漏.Quartz的基本知识请看这里Quartz教程.由于我使用的版本为最新版(Version:2.2.2),因此和此篇文章的方法...

jinfu ⋅ 2016/01/19 ⋅ 0

Quartz实现动态定时任务

一、 说明 由于最近工作要实现定时任务的执行,而且要求定时周期是不固定的,所以就用到了quartz来实现这个功能; spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持quartz 2....

李德伦 ⋅ 2014/06/26 ⋅ 19

SpringBoot整合Quartz定时任务

(1)什么是Quartz? (2)Quartz的特点; (3)Quartz专用词汇说明; (4)Quartz任务调度基本实现原理; 接下来看下具体的内容: (1)什么是Quartz? Quartz是一个完全由Java编写的开源作业...

weixin_38655836 ⋅ 04/11 ⋅ 0

SpringMVC 项目中 Quartz 定时任务的设置纪要

项目使用的是SpringMVC, 以前就已经集成了 1.x 版本的 Quartz,有专门的配置文件定义了需要的bean。 一、配置文件示例如下: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/...

LeoXu ⋅ 2014/03/26 ⋅ 0

Jfinal quartz动态的增、删、暂停、恢复job

Jfinal quartz动态的增、删、暂停、恢复job 得益于和插件可以很方便的在jfinal中配置定时任务,方法如下: 在pom.xml中增加依赖: 在jfinal中配置quartz插件: @Overridepublic void configP...

youthflies ⋅ 2016/04/22 ⋅ 5

quartz集群

其实主要还是借鉴别人的东东,写的还挺好的。我自己只在最后说说自己遇到的坑吧。 1、Quartz任务调度的基本实现原理   Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基...

梦蝶飘雪 ⋅ 2016/08/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 23分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 33分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 43分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 43分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

Thrift RPC实战(五) thrift连接池

Thrift本身没有提供连接池,我们可以用Apache Commons Pool2来实现一个 一、定义对象工厂 BasePooledObjectFactory<T> extends BaseObject implements PooledObjectFactory<T> public class......

lemonLove ⋅ 今天 ⋅ 0

git 命令简写

简写 命令 g git gst git status gd git diff gdc git diff --cached gdv git diff -w "$@" | view - gl git pull gup git pull --rebase gp git push gc git commit -v gc! git commit -v ......

charley158 ⋅ 今天 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 今天 ⋅ 0

Intellij IDEA神器常用技巧四-类和方法注释模板设置

IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。 这里设置的注释模...

Mkeeper ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部