`

Cannot create class of type 'XXX'. Type 'XXX' not found.

阅读更多

http://blog.csdn.net/ozzy_003/archive/2011/04/20/6335562.aspx

 

近项目组一直再忙别的东西,好久没有研究Flex相关技术了,今日闲来无事,想重新考量一下原先完成的Flex Web程序,竟然JBoss在启动之时,莫名奇妙地直接报错了:

Caused by: flex.messaging.MessageException: Cannot create class of type             

 

'com.blaze.BaseTemplateBlazeService'.

Type 'com.blaze.BaseTemplateBlazeService' not found.
 at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:66)
 at flex.messaging.factories.JavaFactoryInstance.getInstanceClass(JavaFactoryInstance.java:110)
 at flex.messaging.factories.JavaFactoryInstance.createInstance(JavaFactoryInstance.java:96)
 at flex.messaging.factories.JavaFactory.createFactoryInstance(JavaFactory.java:114)
 ... 148 more

 

      很是奇怪,程序也没改,配置也没改,到底缘何如此呢?!

 

      尽管如此,还是仔细盘查了程序,以及flex相关的配置文件

      messaging-config.xml、proxy-config.xml、remoting-config.xml、services-config.xml

      其实,主要就是remoting-config.xml,但是此文件确实没有变动,而错误依然,其信息提示倒也是显而易见,就是响应的class文件找不到,又仔细检查了打包后的web-inf目录下的classes文件夹,发现此类的class文件已经在那里了,实在是让人销魂,到底出了什么故障?!

 

      其实,程序没变,配置没变,唯一可能的就是环境变了,由于在此段时间里一直用JBoss-4.2.3开发了别的应用程序,对JBoss本身的配置修改可能在所难免,要是这样来说,除非JBoss复原,否则按此提示信息,想要确定JBoss的问题,简直就是缘木求鱼。

      退而求其次,先换个不同版本的JBoss试试(4.2.2),这一试,不要紧,还真发现了症结所在!

      直接报其他错误了:

 

      java.lang.UnsupportedClassVersionError: Bad version number in .class file

 

      原来是class文件版本不一致,即编译环境的JDK版本,和运行环境的JDK版本不统一所致!!!

 

      翻回头,再定位,果然如此!

 

      编译器Java Complier用的版本是JDK 1.6,而在MyEclipse中设置的JBoss 运行JDK却是 1.5!!!

 

 

        妈的,估计是这段时间开发过程中,在调试其他项目时做了配置,早忘了~

 

        那至少JBoss-4.2.3也应该给个明确点的提示吧!别老让人变成丈二和尚啊。。。

 

        修改了JBoss的运行JDK,保持版本统一,果然迎刃而解!

 

        这回长记性了!

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics