ejb部署:欺骗你眼睛的ide

今天遇到一个很有意思的事情,自己写了个ejb的小应用,在部署的时候遇到了这样一个问题。

  因为ejb是分布式开发环境下的之间开发模型,所以我在一个ejb项目中(其实就是普通的java项目,只是引入了一些jar包用以支持ejb的开发而已)完成了我的逻辑,然后将其部署到了jboss上,通过查看jdni确认部署正常。然后,我自己新建一个web项目,在该web项目的jsp页面上在java脚本代码中通过jdni来查找调用该ejb类,在web项目保存以后,eclipse出现红叉的提示,说是无法解析HelloWord,我一想,HelloWord是ejb类的远程接口类,属于ejb那个项目中定义的,而现在的web项目是另一个项目,其中根本没有定义HelloWord这个接口,所以eclipse无法解析这个接口,当时我想既然出现了红叉,那么编译就有问题,所以自己又在web项目中按照ejb项目中那样重新定义了该HelloWord接口,不报错了,然后把该web项目部署到jboss上,一运行,就出现 $Proxy65 cannot be cast to com.ejb3.HelloWord这样的一个错误,网上关于这个错误的也说的很少,实在看不出有什么问题。

   最后,将web项目中定义的HelloWord接口删掉,重新部署web应用,结果虽然在ecliplse下会出现红叉叉提示无法解析HelloWord,但是部署到jboss后一切运行正常, 所以, 我现在才发现,有时候ide报错,不代表应用就一定有错,特别是在进行分布式环境下的基于组件的开发的时候,这些组件之间是项目作用的,很多情况下在该组件下使用的类是在其它项目中定义的,这样的话就会出现刚才那样的报无法解析类的错误,但是这个时候只要不是java文件报这样的错误,项目一样可以正常部署,ide报错只能算是伪错误,不要一看到这样的错误就认为程序就一定有问题,否则,就会话很多时间,也搞不清有什么错误了。

       

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walkingmanc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值