idea使用druid的jar包_Idea打Jar包的坑,工程使用ali druid 等ali组件

场景:使用Idea 把依赖spring、alidruid连接池 jar的java 工程,打成一个可运行的jar (形如 java -jar xxx.jar)。

方法:参考了一些帖子,Maven生成可以直接运行的jar包的多种方式 和 使用Idea打jar包

大概有几种方法:1、使用Idea工具本身打jar 2、使用maven插件。

问题:使用以上几种方法,打出一个xx.jar包,已经把依赖的spring jar、ali jar打进xx.jar去了。在使用java -jar xx.jar运行的时候,spring报错:spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 47; cvc-elt.1: 找不到元素 'beans' 的声明r的异常信息

查了很多帖子,大多说此问题是因为spring xml 头信息与spring版本不同引起的。其实不然。

解压缩xx.jar 发现,spring.handlers 和 spring.schemas 两个文件中只有ali druid的配置,spring本身的配置信息没有了,由此断定上面的报错是因为在打包时,连接池的配置覆盖了spring的导致spring xsd无法解析。

那如何解决呢?

使用maven-assembly-plugin来打包或者idea,包含所依赖的所有jar的内容(这些jar包会被解开)。

换了spring-boot插件,包含所依赖的所有的jar包(这些jar包不会被解开)。问题解决!!!

org.springframework.boot

spring-boot-maven-plugin

1.5.6.RELEASE

xxx.Main

repackage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值