为什么80%的码农都做不了架构师?>>>   

场景:使用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包不会被解开)。问题解决!!!

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>1.5.6.RELEASE</version><configuration><mainClass>xxx.Main</mainClass>            </configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

参考SpringBoot入门之spring-boot-maven-plugin 和 maven打包可运行的fat-jar的简单方法

转载于:https://my.oschina.net/nipin/blog/1592139

Idea打Jar包的坑,工程使用ali druid 等ali组件相关推荐

  1. 【原创】不用封装jar包 直接引入工程使用的方法(类似android的 is Library功能)...

    1.制作lib工程,这里我简单制作一个测试类 2.eclipse中 java Project工程引入方法 2.1.新建个java工程,在属性配置中选择 "Java Build Path&qu ...

  2. Idea自带的工具打jar包和Maven打Jar包(SpringBoot工程)

    1.Idea自带的工具打jar包 (1)点击菜单栏的File后选中Project Structure,接着按如下图所示操作: (2)点击"OK"按钮后会出现下图的界面,然后继续点击 ...

  3. maven引入自己的jar包避坑

    场景 maven远程仓库中下载不到的包,如公司内部的jar包 idea本地运行不受影响,但是打包无法成功或打包成功无法启动 导入自定义jar包 maven配置环境变量 -> 自行百度 查看ide ...

  4. dos下编译运行java工程,并解决外部jar包依赖

    首先介绍一下我在eclipse中能够运行的工程目录结构: 接下来删除掉.settings  bin .classpath  .project这些目录和文件(避免干扰) 在src目录中有三个包 com. ...

  5. Maven依赖的是本地工程还是仓库jar包?

    相信大家都碰见过maven配置的依赖或者是jar包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看maven依赖的文件的时候,就能直接查看到源码. 一.本地工程依赖 举个例子,其架构如 ...

  6. 使用Maven导出工程依赖的jar包

    从Maven仓库中导出jar包:进入工程pom.xml 所在的目录下,输入: mvn dependency:copy-dependencies 会导出到targed/dependency 下面   可 ...

  7. 在maven 2工程中加入iTextAsian支持(maven添加自定义jar包到本地仓库)

    最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能.JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsia ...

  8. android自定义控件 jar,Android Studio引用自定义的framework.jar包

    1.在app/libs/目录下添加framework.jar包. 2.打开build->Edit Libraries and Dependencies,把libs/framework.jar放到 ...

  9. Java如何读取JAR包外的properties文件及打成jar包后无法读取到jar包内的properties文件

    项目中,经常把一部分功能独立出来,做一个java  project,然后打成jar包供其他项目引用.这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采 ...

最新文章

  1. 广工计算机专业离散数学考试题,广工华立2014年离散数学期末考试试题(配答案)...
  2. linux 自动安装mysql_Linux安装mysql
  3. javascript-04 引用类型
  4. Bootstrap警告框、弹出提示层、模态框的js插件效果总结
  5. HDU Fibonacci
  6. 从HighGUI的一段代码中看OpenCV打开视频的方式
  7. 浅谈Johnson算法
  8. 信道滤波带宽,信号带宽,频率误差的关系
  9. 为什么我感觉永远满足不了公司的要求?
  10. 51Nod NOIP2018提高组省一冲奖班模测训练
  11. mysql数据库所有表合并_mysql数据库如何将表合并我从数据库中倒出表导出后是这样的b 爱问知识人...
  12. 攻防世界之misc1
  13. 图像分类:从13个Kaggle竞赛中总结技巧
  14. 如何选择STL容器?
  15. Redis学习总结和相关资料
  16. arduino 长传出错_请问Arduino IDE在编译时正常,却无法上传且显示找无效库是怎么回事?...
  17. Mac/Windows/Linus操作系统简析
  18. Vue几种监听路由变化的方式
  19. 51单片机OLED收银电子秤称重计价清零去皮金额累计HX711
  20. mysql实现火车购票系统,jsp784火车票售票系统mysql

热门文章

  1. [BUUCTF-pwn]——bjdctf_2020_router
  2. php serialize取值,PHP 序列化(serialize)格式详解
  3. Java script第二课
  4. AndroidTv Home界面实现原理(二)——Leanback 库的主页卡位缩放动画源码解析
  5. myBatis抛出异常Result Maps collection already contains value ...
  6. angularJs自定义模块
  7. C++中多态性学习(上)
  8. 2013年7月04日_回顾总结
  9. Ext.Net中CheckboxSelectionModel的动态隐藏(显示),一定条件下的隐藏(不让选择),获得多选栏位的信息,及后台控件的动态创建...
  10. 多个project[项目]共享session