MyEclipse、Eclipse、jdk、tomcat、jar文件对应版本问题

来源:互联网 发布:对java岗位的认识 编辑:程序博客网 时间:2024/05/16 09:04

阶段一:情况项目在Myeclipse 2017 CI没办法正常编译,因此更换了工具:

Eclipse版本信息Mars.2 Release (4.5.2)


问题tomcat 7运行正常,8报错如下:

四月 12, 2017 6:06:20 下午 org.apache.catalina.startup.ContextConfig processAnnotationsJar严重: Unable to process Jar entry [org/apache/ibatis/javassist/tools/web/ServiceThread.class] from Jar [jar:file:/E:/server/apache-tomcat-8.0.9/webapps/parking-cms/WEB-INF/lib/mybatis-3.4.0.jar!/] for annotationsjava.io.EOFExceptionat java.io.DataInputStream.readUnsignedShort(Unknown Source)at org.apache.tomcat.util.bcel.classfile.Utility.swallowMethodParameters(Utility.java:188)at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:159)at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.<init>(FieldOrMethod.java:76)at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:226)at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:101)at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1987)at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1940)at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1915)at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1876)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1145)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:767)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5083)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581)at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1686)at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)
总结:电脑上安装了Tomcat 7、8、9和jdk 7、8和MyEclipse 2017 CI、Eclipse 4.5.2,来回的变换JAVA_HOME和CATALINA_HOME及工具启动和Tomcat自启动,而jar包版本是用maven管理的,是否存在版本对应的问题?

阶段二:情况项目在Myeclipse 2017 CI仍然没办法正常编译,因此更换了工具:

MyEclipse 2016可以正常运行编译、其他的2017 CI也可以运行编译!

这个过程有一个异常报错(其他):

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/parking-cms]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1861)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/parking-cms] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2126)at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2072)at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1947)at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1913)at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1898)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1330)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5380)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 10 more四月 13, 2017 10:27:25 上午 org.apache.catalina.startup.HostConfig deployDescriptor严重: Error deploying configuration descriptor C:\Users\Administrator\Workspaces\MyEclipse 2016\.metadata\.me_tcat7\conf\Catalina\localhost\parking-cms.xmljava.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/parking-cms]]at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1861)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)

总结:也是报哪个LifecycleException异常,Tomcat对应的jdk版本不对,导致的异常!

阶段三:情况项目在Myeclipse 2017 CI没办法正常编译的情况 描述:

现象一:
初期如图:properties、spring、xml 文件夹,里面都是xml文件!


项目清理后【Project - Clean】,仅仅是这三个文件的重新生成。

正常表现(MyEclipse 2016、Eclipse 4.5.2编译过程)是三个文件手动删除后,项目刷新时,这三个文件重新生成,点击清理后如图:


重新生成这四个文件夹,cn文件夹里是java编译后的class文件。

现象二:


MyEclipse 2017 CI中把maven包删除后的一瞬间,cn文件夹可以生成,重新导入到项目中后又仅仅是那三个xml文件夹的清理生成了。

现象三:


MyEclipse 2017 CI中,第一项总是不停刷新,而正常的如下:


有点想确定这个是不是一个突破口!

延伸:

项目有红叉号的不能正常编译,且2017 CI中存在java代码报错,但文件不显示错误的标志!不报错的可以正常编译。可能真是2017 CI更新后出问题了。

总结:仍是搞不清楚,2017 CI是破解版,中途的一次升级后,注册码失效,之后重装及反复重装,好像才出现这个问题的(仅限这一个项目),因此我觉得应该是项目出现问题,或者是jdk环境与jar包的问题,也可能破解版总会这样犯神经,这个问题困扰了自己一天也只是有个模糊的认识重新下装个2016,就先告一段落吧!

1 0
原创粉丝点击