Eclipse 打jar三种不同方式的区别
最近开发一个高德地图项目,使用的框架是mybatis+spring,打成jar包运行的方式,但是在eclipse中正在运行,却在打成jar包后无法运行,错误信息如下
C:\Users\Administrator\Desktop\collectiongaode>java -Dcollectiongaode.dir=C:\Users\Administrator\Desktop\collectiongaode -jar C:\Users\Administrator\D
esktop\collectiongaode/lib/gaode.jar
2017-04-20 10:10:52.269, [main ], [INFO ], AbstractApplicationContext.(510), | Refreshing org.springframework.context.support.FileSystemXmlApplica
tionContext@14387bc2: startup date [Thu Apr 20 10:10:52 CST 2017]; root of context hierarchy
2017-04-20 10:10:52.312, [main ], [INFO ], XmlBeanDefinitionReader.(315), | Loading XML bean definitions from URL [file:C:/Users/Administrator/Des
ktop/collectiongaode/conf/applicationContext.xml]
Exception in thread "main" java.lang.ExceptionInInitializerErrorat com.panso.CollectionGaode.service.impl.ReadFileServiceImpl.<init>(ReadFileServiceImpl.java:27)at com.panso.CollectionGaode.main.CollectionMain.main(CollectionMain.java:28)
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler f
or XML schema namespace [http://www.springframework.org/schema/tx]
Offending resource: URL [file:C:/Users/Administrator/Desktop/collectiongaode/conf/applicationContext.xml]at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:318)at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1435)at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:185
)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.jav
a:139)at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
108)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130
)at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)at com.panso.CollectionGaode.utils.ApplicationContextFactory.<clinit>(ApplicationContextFactory.java:11)... 2 more
最主要的而是这句报错
Unable to locate Spring NamespaceHandler f
or XML schema namespace [http://www.springframework.org/schema/tx]
找了很多资料,有的说是jar包没有,有的说是META-INF/spring.schemas 文件的问题。
后来在打jar包的时候发现,Runnable jar 有三种方式
Extract required libraires into generated JAR
Package required libraies into generated JAR
Copy required libraries into a sub-folder next to the generated JAR
我一开始使用的是第一种方式,再尝试第二种方式,就不报错了。
整理了下三种方式jar包的文件夹结构
extract 方式 依赖的jar包都变成了class文件
package方式 把依赖的jar包放在根目录下
copy方式,依赖jar包放在单独一个文件夹里面
Eclipse 打jar三种不同方式的区别相关推荐
- Tomcat介绍及三种启动方式的区别
一.Tomcat的下载 二.Tomcat目录说明 三.Tomcat常用命令 四.Tomcat服务的安装 五.Tomcat启动的三种方式 六.三种启动方式的区别 七.Tomcat端口占用问题 一.Tom ...
- JS标签的获取、js curd、事件的四要素、事件的三种注册方式和区别
1.掌握html和body标签的两种特殊获取方式(*****)---(重点) html: document.documentElement body: document.body le ...
- 关于微软COEM,FPP和开放式许可三种购买方式的区别
什么是零售版.VOL版和OEM版 零售版是指从软件零售商处购买到的软件产品,它是针对一般家庭用户并且也是最常见的销售版本. Windows Vista零售版分为彩盒包装和COEM简装版,彩盒包装比CO ...
- GPS接收机热启动、温启动、冷启动三种启动方式的区别
众所周知GPS接收机定位的时候,需要两种基本信息,一种卫星星历和卫星的观测数据(伪距.载波相位.测距码).定位的条件星历和卫星的观测数据,缺一不可. 卫星星历是用来描述卫星轨道的参数,用这些参数可以计 ...
- robotstudio仿真搬运编程_敲黑板 | 机器人是怎么完成任务的?这三种编程方式的区别你造吗...
9012年了,机器人对我们来说已经很熟悉.在许多领域,它都发挥着卓有成效的作用,那么,这些机器人究竟是怎么在各个领域完成任务的呢? 想知道这个问题的答案,我们首先要知道机器人编程. 机器人编程[rob ...
- 机器人焊枪动作与编程实验_敲黑板 | 机器人是怎么完成任务的?这三种编程方式的区别你造吗...
9012年了,机器人对我们来说已经很熟悉.在许多领域,它都发挥着卓有成效的作用,那么,这些机器人究竟是怎么在各个领域完成任务的呢? 想知道这个问题的答案,我们首先要知道机器人编程. 机器人编程[rob ...
- Java数组—三种创建方式与区别
Java创建数组有三种方式 1. 第一种方式 int arr [ ] = new int [5] ; 属于动态创建,声明并创建内存空间,等待赋值. //创建数组的第一种方式 //属于动态创建,声明并 ...
- 多线程 三种创建方式及区别
线程概念 进程:启动一个程序就是一个进程. 线程:在一个程序里面,多个事情同步进行,这个事情是由线程来完成 不使用多线程的效果 如果我们不使用线程,会怎么样呢?看下面代码 新建立一个hero类包含英雄 ...
- 【转】EF三种编程方式的区别Database first ,Model first ,code first
首先对于EF中先出现的datebase first和model first两种编程方式,其的区别根据字面意思很容易能够理解. datebase first就是代表数据库优先,那么前提就是先创建数据 ...
最新文章
- iOS 网络状态判断方案(支持iOS11和iPhoneX)
- 【C#】允许泛型方法T返回空值Null
- php计算经纬度间的距离
- yum 简介及其常用命令
- (文末有福利)口罩检测覆盖公有云、私有化及SDK等形态,拿来即用精准高效
- 奋斗的小蜗牛+竹青遍野 同类题
- Linux(Redhat5.5)配置时间服务器(Ntp)法
- java实现数据库内容修改_数据库更改到Java环境中实现可持续和平
- 手机屏幕适配原理及实现
- OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
- 油田生产中的几个“三”
- NFS rhel 7
- (转)来自瑞士的七个葫芦娃:各怀绝技的Wealthtech解决方案商
- 报错:When executing step qmake
- Mac通过brew安装Nodejs错误:Could not symlink lib/dtrace/node.d
- Python数据导入
- android集成科大讯飞语音听写和语音合成
- 【电子】Baseband Signal and Passband Signal
- map和multimap的用法详解
- firefox省流量攻略
热门文章
- win8经典开始菜单计算机,Win8系统设置开启经典开始菜单的诀窍
- 数据库课程设计测试部分_实用的数据库设计,第1部分
- 服务器管理器怎么用?
- python Pyqt5 QLabel控件 自定义添加鼠标单击信号/事件 双击信号/事件
- hp计算机如何进入启动界面,惠普电脑怎么进入bios设置启动项
- 强化学习笔记(六):Policy Gradient/策略梯度
- (一)初识DDD(领域驱动设计)
- 踏遍青山情未老 —— 九山顶重游记(五)
- GIS数据处理-栅格切片工具
- Khalid bin Abdul Aziz bin Ayyaf王子宣布第33届Al Janadria节将于周四启幕