执行HelloClient客户端程序
1.出现Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
解决办法:在工程下添加 %JBOSS_HOME%/client/jbossall-client.jar
2.继续执行客户端程序,出现错误如下:
Exception in thread "main" javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: org.jboss.ejb3.JBossProxy (no security manager: RMI class loader disabled)]
解决办法:在工程中添加%JBOSS_HOME%/client/jboss-ejb3-client.jar
3.继续执行客户端程序,出现错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: [Lorg/jboss/aop/advice/Interceptor;解决办法:在工程中添加
%JBOSS_HOME%/server/deploy/jboss-aop.deployer/jboss-aop.jar,
4.继续执行客户端程序,出现错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/aspects/asynch/AsynchProvider
解决办法:在工程中添加%JBOSS_HOME%/server/deploy/jboss-aop.deployer/jboss-aspect-library.jar
5.程序成功执行并输出结构
6.javax.naming.CommunicationException [Root exception is java.io.InvalidClassException:
org.jboss.proxy.ejb.GenericEJBInterceptor; local class incompatible:
stream classdesc serialVersionUID = 4582256576523491346, local class serialVersionUID = 3844706474734439975]
这个错误比较搞人,居然是jboss版本的问题,我找了很久才把他发现,以前用的jboss4.0GA的客户端的jar,换4.2GA时,就要搞4.2GA客户端Jar进行测试,真是一失足成小时恨
7.Cannot instantiate class: org.jnp.interfaces.NamingContextFactory
首选项--java----已安装的jre ,编辑---查看是否添加了jobss中client中一些jar包如jbossall-client.jar,如果没有,可自已添加.
8.找不到会话bean时,往往是在设置本地或远程接口时设置错误
9.在实体bean做双向关联时,java.lang.reflect.UndeclaredThrowableException
at $Proxy0.getOrderByID(Unknown Source)这个是由于JBoss的版本造成的,通常这种情况只能插入,不能查询。
一般情况会在JBoss4.0GA的版本中发生,而在JBoss4.2GA中是不存在这种情况的