我正在为webservice编写测试客户端.它是使用JSF框架的Netbeans 6.9.1 WebApplication.我有一个托管bean调用webservice.
一切正常,直到我注意到我的bean类名称中的拼写错误.它是serviceBean,我将它重命名为ServiceBean,首字母为大写.我使用了Netbeans的安全重命名功能,文件名和类签名都按预期更改.
但从那时起,我在Glassfish 3.0.1上运行我的应用程序时遇到了很多麻烦.
我可以毫无错误地从Netbeans构建我的应用程序(甚至"清理和构建").但是如果我部署,服务器日志中会出现以下消息:
WARNUNG: Error in annotation processing: java.lang.NoClassDefFoundError: jsf/serviceBean (wrong name: jsf/ServiceBean)
WARNUNG: WEB9052: Unable to load class jsf.ServiceBean, reason: java.lang.ClassNotFoundException: jsf.ServiceBean
INFO: Mojarra 2.0.2 (FCS b10) für Kontext '/PidClient' wird initialisiert.
SCHWERWIEGEND: Unable to load annotated class: jsf.serviceBean, reason: java.lang.NoClassDefFoundError: jsf/serviceBean (wrong name: jsf/ServiceBean)
INFO: Loading application PidClient at /PidClient
Run Code Online (Sandbox Code Playgroud)
我在facelet页面上有一个表单,将提交给我的托管bean.尽管出现上述错误,表单仍会被加载但如果我尝试提交它,我会收到以下错误:
WARNUNG: /index.xhtml @19,94 value="#{serviceBean.fldLname}": Target Unreachable, identifier 'serviceBean' resolved to null
javax.el.PropertyNotFoundException: /index.xhtml @19,94 value="#{serviceBean.fldLname}": Target Unreachable, identifier 'serviceBean' …Run Code Online (Sandbox Code Playgroud) 每当我加载NetBeans 6.9(同样的错误也发生在以前的版本上)时,我让NetBeans完成扫描我的项目,一旦完成,我尝试运行一个指向带有main方法的类的配置文件,NetBeans总是说主类不是发现,即使它弹出错误,它会出现在类列表中.
如果我从列表中选择类并单击"确定",则会再次发生相同的错误(未找到主类).
如果我编译主类,我仍然会遇到同样的问题.
如果我重建整个项目,我想我仍然会遇到同样的问题. - >当我编译主项目时,它会编译所有项目,甚至是那些已关闭的项目.到底是怎么回事?
到目前为止,我找到解决这个问题的唯一方法是关闭项目并重新打开它,等待项目扫描再次完成.
这令人非常恼火.有没有解决这个问题?
我注意到的另一个奇怪的事情是我的项目似乎构建了错误的JAR文件名(尽管如果我执行上述步骤关闭并重新打开项目它仍然有效).我有两个具有不同名称的项目,甚至在关闭了另一个项目并重新启动NetBeans很多次之后,当我构建第一个项目时,它使用JAR文件名作为已经关闭了很长时间的第二个项目.