1.  

新检出一个web项目,同事都是运行在MyEclipse中的,我用Eclipse启动,

1、首先是许多jar包报错:

处理方法为 remove掉,然后 选 WEB-INF 下的所有 jar 重新添加进去。

2、MyEclipse 中自带 JavaEE5 library jar包合集,而Eclipse中没有,项目中有用到,解决方法

从同事的 MyEclipse 安装目录下把  EE_5 目录拷过来,主要是有下面这4个jar包:

然后,添加到项目中,可以建一个用户目录:

这样就建好了,如图:

但是这时,项目启动,还是不会把这些jar引入到项目中,还需要如下配置:

添加完是如下效果:

这样就把Javaee5的相关jar包彻底引入到项目中了。

3、启动项目,报如下异常:

典型异常信息: URL [jar:file:/C:/Program%20Files%20(x86)/Java/jre6/lib/ext/jfxrt.jar!/com/sun/glass/ui/Accessible.class

全部异常信息如下:

  1. 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
  2. org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [applicationContext-service.xml]
  3. Offending resource: class path resource [config/spring/applicationContext.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [jar:file:/C:/Program%20Files%20(x86)/Java/jre6/lib/ext/jfxrt.jar!/com/sun/glass/ui/Accessible.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 3805021
  4. at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
  5. at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
  6. at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
  7. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:271)
  8. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196)
  9. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:181)
  10. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
  11. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
  12. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
  13. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
  14. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
  15. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
  16. at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
  17. at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
  18. at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
  19. at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
  20. at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
  21. at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
  22. at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:530)
  23. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:444)
  24. at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
  25. at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
  26. at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
  27. at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
  28. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
  29. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  30. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  31. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  32. at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  33. at java.util.concurrent.FutureTask.run(Unknown Source)
  34. at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  35. at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  36. at java.lang.Thread.run(Unknown Source)
  37. Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [jar:file:/C:/Program%20Files%20(x86)/Java/jre6/lib/ext/jfxrt.jar!/com/sun/glass/ui/Accessible.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 3805021
  38. at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:261)
  39. at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)
  40. at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)
  41. at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
  42. at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1423)
  43. at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1413)
  44. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184)
  45. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
  46. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
  47. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
  48. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
  49. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
  50. at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
  51. at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:255)
  52. ... 29 more
  53. Caused by: java.lang.ArrayIndexOutOfBoundsException: 3805021
  54. at org.springframework.asm.ClassReader.readInt(Unknown Source)
  55. at org.springframework.asm.ClassReader.accept(Unknown Source)
  56. at org.springframework.asm.ClassReader.accept(Unknown Source)
  57. at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:59)
  58. at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
  59. at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)
  60. at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:237)
  61. ... 42 more
  62. com.cthq.crm.webservice.task.BussinessTask@834e7
  63. 2019-08-12 15:45:26,084 INFO [Timer-1] com.jtcrm.resource.framework.taskmanager.CacheFlushLoigc.processLogic(CacheFlushLoigc.java:28) {} - processLogic start!!!
  64. 2019-08-12 15:45:26,097 INFO [Timer-1] com.jtcrm.resource.framework.taskmanager.CacheFlushLoigc.processLogic(CacheFlushLoigc.java:33) {} - 0
  65. 2019-08-12 15:45:26,097 INFO [Timer-1] com.jtcrm.resource.framework.taskmanager.CacheFlushLoigc.processLogic(CacheFlushLoigc.java:72) {} - processLogic end!!!
  66. 2019-8-12 15:45:26 org.apache.catalina.core.StandardContext startInternal
  67. 严重: Error listenerStart
  68. 2019-8-12 15:45:26 org.apache.catalina.core.StandardContext startInternal
  69. 严重: Context [/CRMResource] startup failed due to previous errors
  70. 2019-8-12 15:45:26 org.apache.catalina.core.ApplicationContext log
  71. 信息: Closing Spring root WebApplicationContext
  72. 2019-8-12 15:45:26 org.apache.catalina.core.StandardContext listenerStop
  73. 严重: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
  74. java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
  75. at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172)
  76. at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1078)
  77. at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1052)
  78. at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1000)
  79. at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:548)
  80. at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
  81. at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
  82. at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
  83. at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
  84. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
  85. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  86. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  87. at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
  88. at java.util.concurrent.FutureTask.run(Unknown Source)
  89. at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  90. at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  91. at java.lang.Thread.run(Unknown Source)

不管是 使用 jdk 1.8,还是jdk 1.6 都是报上面的异常。

最终参考下面的博文,

org.springframework.asm.ClassReader.(Unknown Source) 解决方案

此类问题一般在 spring版本 与 jdk版本不匹配的情况下会出现。

匹配规则:

spring3 + java7

spring4 + java8

解决方案:

1:检查项目的jdk编译版本 :右键项目,进入项目偏好设置,找到 java Compiler ,将jdk修改到你对应的spring版本

2:检查tomcat的jre版本:以eclipse为例:打开eclipse的偏好设置,搜索 server ,找到 Runtime Environments 找到你加载进来的tomcat 点击edit,将jre修改为对应你spring的版本。

到此问题应该就能得到解决。

发现本地项目用的Spring是3.1:

将jdk改为1.7后,故障排除【奇怪的是,同时用MyEclipse,用的其自带1.6环境运行项目居然不报错】。

Eclipse切换jdk的方法:

一、Eclipse中整体添加多个jdk

这里只要选中一个包含 jdk 内容的目录即可,这个目录中的jdk不用真的安装在电脑里面,只要有这个文件夹就行了。

这样一个新的 jdk环境就添加到Eclipse中了,一个Eclipse中可以添加多个JDK环境。

二、项目的JDK主要有两个部分

1编译环境:

项目右键

2、是运行项目的Tomcat的jdk环境:

MyEclipse环境的项目改为在Eclipse中运行爬坑记【我】的更多相关文章

  1. myEclipse中的web项目直接引入到eclipse中运行

    首先打开项目属性(Properties),如果动态web项目被作为普通java项目引进去,需要首先修改为web项目,如下图: 确定后即可在eclipse中看到转换为了动态的web项目,然后继续属性(P ...

  2. 92.vue---新手从本地项目开发到服务器线上运行爬坑。

    因为我做的是后台,所以不用做SEO 参考 本项目的定位是后台集成方案,不太适合当基础模板来进行二次开发.因为本项目集成了很多你可能用不到的功能,会造成不少的代码冗余.如果你的项目不关注这方面的问题,也 ...

  3. 5- 如何把MyEclipse中的web项目导入到Eclipse中运行

    from: 如何把MyEclipse中的web项目导入到Eclipse中运行 2016年09月12日 20:57:51 dancheren 阅读数:35329 标签: eclipse 更多 个人分类: ...

  4. 如何把MyEclipse中的web项目导入到Eclipse中运行

    有时我们需要将MyEclipse中的项目导入到Eclipse中运行,如果不注意到一些细节,会造成无法运行的后果.下面就说说具体操作: 如何导入到Eclipse就不在重述了,导入后出现如下错误: 与上面 ...

  5. MyEclipse中的项目导入到Eclipse中运行的错误解决

    之前用的myEclipse,后来把项目导入eclipse发现报错,将MyEclipse中的项目导入到Eclipse中运行,不注意一些细节,会造成无法运行的后果.下面就说说具体操作:导入后出现如下错误: ...

  6. monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

    monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种 ...

  7. 转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

    转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来 ...

  8. 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.

    问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...

  9. Nodejs学习笔记(二)——Eclipse中运行调试Nodejs

    前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行 ...

随机推荐

  1. SpringMVC返回void的三大方法

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 在是springMVC的void的返回值中,有三大方法可以运行,个人觉得 ...

  2. Java 中的多态,一次讲个够之接口实现关系中的多态

    上文还没有写完,这一篇继续 Java 中的多态,一次讲个够之继承关系中的多态 https://www.cnblogs.com/qianjinyan/p/10824576.html 接口实现关系,和继承 ...

  3. 用js刷剑指offer(包含min函数的栈)

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 牛客网链接 js代码 const stack1 = [] const stack2 = ...

  4. NginX——配置负载均衡

    A.            在http模块加上upstream配置 upstream www.myweb.com { server  127.0.0.1:9100 weight=3; server  ...

  5. No PostCSS Config found in报错解决

    前情提要]日前本人将本地项目上传GitHub之后,然后再clone到本地,运行是报错:Error: No PostCSS Config found in... 项目在本地打包运行的时候不报错,上传到 ...

  6. python 2.7安装pygame报错解决办法pygame-1.9.4-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.

    python下载python安装包 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame 下载完后进入cmd命令行执行安装,报错: pygame-1.9 ...

  7. java堆栈信息查看,以及JVM性能查看工具-jconsole+jmap

    java-core  P487 P515 chapter11,主要讲java的异常,里面很多内容收获良多,之前一直没注意过的. 一,Throwable类获得StackTraceElement ,可进行 ...

  8. Linux-删除文件空间不释放问题解决

    场景描述: 收到zabbix监控报警,晋中生产机器出现磁盘空间不足报警. 远程到该服务器,排查占员工磁盘空间的原因,发现tomcat日志过多,于是清除3天前的日志. 日志清理后,发现磁盘空间没有释放, ...

  9. vulkan的subpass

    最近在写 unity上 vulkan开subpass 似乎pc上subpass 的input attachement hlslcc_fbinput_0绑不上的 在手机上能绑上 说明subpass这个功 ...

  10. 选择排序之javascript

    选择排序(Selection-sort)是一种简单直观的排序算法.它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放 ...